home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / Movies.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  85.7 KB  |  2,295 lines  |  [TEXT/MPS ]

  1. (*
  2.      File:        Movies.mod
  3.  
  4.      Contains:    QuickTime Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 2.0
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs.applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. *)
  19.  
  20. (*$TAGS-*)
  21. (*$CALLING PASCAL*)
  22. MODULE Movies;
  23.  
  24. IMPORT SYSTEM, Types, Quickdraw, Files, Events, Menus, TextEdit, Dialogs,
  25.        Components, ImageCompression;
  26.  
  27. (* $PUSH*)
  28. (* $ALIGN MAC68K*)
  29. (* $LibExport+*)
  30.  
  31. CONST
  32.     MovieFileType*                = LONG("MooV");
  33.  
  34.     MediaHandlerType*            = LONG("mhlr");
  35.     DataHandlerType*                = LONG("dhlr");
  36.  
  37.     VideoMediaType*                = LONG("vide");
  38.     SoundMediaType*                = LONG("soun");
  39.     TextMediaType*                = LONG("text");
  40.     BaseMediaType*                = LONG("gnrc");
  41.     MPEGMediaType*                = LONG("MPEG");
  42.     MusicMediaType*                = LONG("musi");
  43.     TimeCodeMediaType*            = LONG("tmcd");
  44.     HandleDataHandlerSubType*    = LONG("hndl");
  45.  
  46.     VisualMediaCharacteristic*    = LONG("eyes");
  47.     AudioMediaCharacteristic*    = LONG("ears");
  48.  
  49.     DoTheRightThing*                = 0;
  50.  
  51.  
  52. TYPE
  53.     MovieRecord* = RECORD
  54.         data*:                    ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;
  55.     END;
  56.  
  57.     Movie* = POINTER TO MovieRecord;
  58.  
  59.     TrackRecord* = RECORD
  60.         data*:                    ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;
  61.     END;
  62.  
  63.     Track* = POINTER TO TrackRecord;
  64.  
  65.     MediaRecord* = RECORD
  66.         data*:                    ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;
  67.     END;
  68.  
  69.     Media* = POINTER TO MediaRecord;
  70.  
  71.     UserDataRecord* = RECORD
  72.         data*:                    ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;
  73.     END;
  74.  
  75.     UserData* = POINTER TO UserDataRecord;
  76.  
  77.     TrackEditStateRecord* = RECORD
  78.         data*:                    ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;
  79.     END;
  80.  
  81.     TrackEditState* = POINTER TO TrackEditStateRecord;
  82.  
  83.     MovieEditStateRecord* = RECORD
  84.         data*:                    ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;
  85.     END;
  86.  
  87.     MovieEditState* = POINTER TO MovieEditStateRecord;
  88.  
  89.     SampleDescription* = RECORD
  90.         descSize*:                LONGINT;
  91.         dataFormat*:                LONGINT;
  92.         resvd1*:                    LONGINT;
  93.         resvd2*:                    INTEGER;
  94.         dataRefIndex*:            INTEGER;
  95.     END;
  96.  
  97.     SampleDescriptionPtr* = POINTER TO SampleDescription;
  98.     SampleDescriptionHandle* = HANDLE TO SampleDescription (*ΔΔ POINTER TO SampleDescriptionPtr*);
  99.  
  100.     SoundDescription* = RECORD
  101.         descSize*:                LONGINT;                                (* total size of SoundDescription including extra data *)
  102.         dataFormat*:                LONGINT;                                (*  *)
  103.         resvd1*:                    LONGINT;                                (* reserved for apple use *)
  104.         resvd2*:                    INTEGER;
  105.         dataRefIndex*:            INTEGER;
  106.         version*:                INTEGER;                                (* which version is this data *)
  107.         revlevel*:                INTEGER;                                (* what version of that codec did this *)
  108.         vendor*:                    LONGINT;                                (* whose  codec compressed this data *)
  109.         numChannels*:            INTEGER;                                (* number of channels of sound *)
  110.         sampleSize*:                INTEGER;                                (* number of bits per sample *)
  111.         compressionID*:            INTEGER;                                (* sound compression used, 0 if none *)
  112.         packetSize*:                INTEGER;                                (* packet size for compression, 0 if no compression *)
  113.         sampleRate*:                Types.Fixed;                                    (* sample rate sound is captured at *)
  114.     END;
  115.  
  116.     SoundDescriptionPtr* = POINTER TO SoundDescription;
  117.     SoundDescriptionHandle* = HANDLE TO SoundDescription (*ΔΔ POINTER TO SoundDescriptionPtr*);
  118.  
  119.     TextDescription* = RECORD
  120.         descSize*:                LONGINT;                                (* Total size of TextDescription*)
  121.         dataFormat*:                LONGINT;                                (* LONG("text")*)
  122.         resvd1*:                    LONGINT;
  123.         resvd2*:                    INTEGER;
  124.         dataRefIndex*:            INTEGER;
  125.         displayFlags*:            LONGINT;                                (* see enum below for flag values*)
  126.         textJustification*:        LONGINT;                                (* Can be*: teCenter,teFlush -Default,-Right,-Left*)
  127.         bgColor*:                Quickdraw.RGBColor;                                (* Background color*)
  128.         defaultTextBox*:            Types.Rect;                                    (* Location to place the text within the track bounds*)
  129.         defaultStyle*:            TextEdit.ScrpSTElement;                            (* Default style (struct defined in TextEdit.h)*)
  130.         defaultFontName*:        (*ΔΔPACKEDΔΔ*) ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF CHAR;            (* Font Name (pascal string - struct extended to fit) *)
  131.     END;
  132.  
  133.     TextDescriptionPtr* = POINTER TO TextDescription;
  134.     TextDescriptionHandle* = HANDLE TO TextDescription (*ΔΔ POINTER TO TextDescriptionPtr*);
  135.  
  136. (*--------------------------
  137.   Music Sample Description
  138. --------------------------*)
  139.     MusicDescription* = RECORD
  140.         descSize*:                LONGINT;
  141.         dataFormat*:                LONGINT;                                (* LONG("musi") *)
  142.         resvd1*:                    LONGINT;
  143.         resvd2*:                    INTEGER;
  144.         dataRefIndex*:            INTEGER;
  145.         musicFlags*:                LONGINT;
  146.         headerData*:                ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;                (* variable size! *)
  147.     END;
  148.  
  149.     MusicDescriptionPtr* = POINTER TO MusicDescription;
  150.  
  151.     MusicDescriptionHandle* = HANDLE TO MusicDescription (*ΔΔ POINTER TO MusicDescriptionPtr*);
  152.  
  153.  
  154. CONST
  155.     dfDontDisplay*                = ASH(1,0);                    (* Don't display the text*)
  156.     dfDontAutoScale*                = ASH(1,1);                    (* Don't scale text as track bounds grows or shrinks*)
  157.     dfClipToTextBox*                = ASH(1,2);                    (* Clip update to the textbox*)
  158.     dfUseMovieBGColor*            = ASH(1,3);                    (* Set text background to movie's background color*)
  159.     dfShrinkTextBoxToFit*        = ASH(1,4);                    (* Compute minimum box to fit the sample*)
  160.     dfScrollIn*                    = ASH(1,5);                    (* Scroll text in until last of text is in view *)
  161.     dfScrollOut*                    = ASH(1,6);                    (* Scroll text out until last of text is gone (if both set, scroll in then out)*)
  162.     dfHorizScroll*                = ASH(1,7);                    (* Scroll text horizontally (otherwise it's vertical)*)
  163.     dfReverseScroll*                = ASH(1,8);                    (* vert*: scroll down rather than up; horiz: scroll backwards (justfication dependent)*)
  164.     dfContinuousScroll*            = ASH(1,9);                    (* new samples cause previous samples to scroll out *)
  165.     dfFlowHoriz*                    = ASH(1,10);                (* horiz scroll text flows in textbox rather than extend to right *)
  166.     dfDropShadow*                = ASH(1,12);                (* display text with a drop shadow *)
  167.     dfAntiAlias*                    = ASH(1,13);                (* attempt to display text anti aliased*)
  168.     dfKeyedText*                    = ASH(1,14);                (* key the text over background*)
  169.     dfInverseHilite*                = ASH(1,15);                (* Use inverse hiliting rather than using hilite color*)
  170.  
  171.     searchTextDontGoToFoundTime*    = ASH(1,16);
  172.     searchTextDontHiliteFoundText* = ASH(1,17);
  173.     searchTextOneTrackOnly*        = ASH(1,18);
  174.     searchTextEnabledTracksOnly*    = ASH(1,19);
  175.  
  176. (* progress messages *)
  177.     movieProgressOpen*            = 0;
  178.     movieProgressUpdatePercent*    = 1;
  179.     movieProgressClose*            = 2;
  180.  
  181. (* progress operations *)
  182.     progressOpFlatten*            = 1;
  183.     progressOpInsertTrackSegment* = 2;
  184.     progressOpInsertMovieSegment* = 3;
  185.     progressOpPaste*                = 4;
  186.     progressOpAddMovieSelection*    = 5;
  187.     progressOpCopy*                = 6;
  188.     progressOpCut*                = 7;
  189.     progressOpLoadMovieIntoRam*    = 8;
  190.     progressOpLoadTrackIntoRam*    = 9;
  191.     progressOpLoadMediaIntoRam*    = 10;
  192.     progressOpImportMovie*        = 11;
  193.     progressOpExportMovie*        = 12;
  194.  
  195.     mediaQualityDraft*            = $0000;
  196.     mediaQualityNormal*            = $0040;
  197.     mediaQualityBetter*            = $0080;
  198.     mediaQualityBest*            = $00C0;
  199.  
  200. TYPE
  201.     MovieRgnCoverProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theMovie: Movie; changedRgn: Quickdraw.RgnHandle; refcon: LONGINT): Types.OSErr;
  202.     MovieProgressProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theMovie: Movie; message: INTEGER; whatOperation: INTEGER; percentDone: Types.Fixed; refcon: LONGINT): Types.OSErr;
  203.     MovieDrawingCompleteProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theMovie: Movie; refCon: LONGINT): Types.OSErr;
  204.     TrackTransferProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (t: Track; refCon: LONGINT): Types.OSErr;
  205.     GetMovieProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (offset: LONGINT; size: LONGINT; dataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; refCon: (*ΔΔUNIVΔΔ*) Types.Ptr): Types.OSErr;
  206.     MoviePreviewCallOutProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (refcon: LONGINT): BOOLEAN;
  207.     MoviesErrorProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theErr: Types.OSErr; refcon: LONGINT);
  208.     TextMediaProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theText: Types.Handle; theMovie: Movie; VAR displayFlag: INTEGER; refcon: LONGINT): Types.OSErr;
  209.     MovieRgnCoverUPP* = Types.UniversalProcPtr;
  210.     MovieProgressUPP* = Types.UniversalProcPtr;
  211.     MovieDrawingCompleteUPP* = Types.UniversalProcPtr;
  212.     TrackTransferUPP* = Types.UniversalProcPtr;
  213.     GetMovieUPP* = Types.UniversalProcPtr;
  214.     MoviePreviewCallOutUPP* = Types.UniversalProcPtr;
  215.     MoviesErrorUPP* = Types.UniversalProcPtr;
  216.     TextMediaUPP* = Types.UniversalProcPtr;
  217.  
  218.     MediaHandler* = Components.ComponentInstance;
  219.     DataHandler* = Components.ComponentInstance;
  220.  
  221.     MediaHandlerComponent* = Components.Component;
  222.     DataHandlerComponent* = Components.Component;
  223.  
  224.     HandlerError* = Components.ComponentResult;
  225.  
  226.     TimeValue* = LONGINT;
  227.  
  228.     TimeScale* = LONGINT;
  229.  
  230.     CompTimeValue* = Types.wide;
  231.  
  232.  
  233. CONST
  234.     loopTimeBase*                = 1;
  235.     palindromeLoopTimeBase*        = 2;
  236.     maintainTimeBaseZero*        = 4;
  237.  
  238.     
  239. TYPE
  240.     TimeBaseFlags* = LONGINT;
  241.  
  242.     TimeBaseRecord* = RECORD
  243.         data*:                    ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;
  244.     END;
  245.  
  246.     TimeBase* = POINTER TO TimeBaseRecord;
  247.  
  248.     CallBackRecord* = RECORD
  249.         data*:                    ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;
  250.     END;
  251.  
  252.     QTCallBack* = POINTER TO CallBackRecord;
  253.  
  254.     TimeRecord* = RECORD
  255.         value*:                    CompTimeValue;                            (* units *)
  256.         scale*:                    TimeScale;                                (* units per second *)
  257.         base*:                    TimeBase;
  258.     END;
  259.  
  260. (* CallBack equates *)
  261.  
  262. CONST
  263.     triggerTimeFwd*                = $0001;                        (* when curTime exceeds triggerTime going forward *)
  264.     triggerTimeBwd*                = $0002;                        (* when curTime exceeds triggerTime going backwards *)
  265.     triggerTimeEither*            = $0003;                        (* when curTime exceeds triggerTime going either direction *)
  266.     triggerRateLT*                = $0004;                        (* when rate changes to less than trigger value *)
  267.     triggerRateGT*                = $0008;                        (* when rate changes to greater than trigger value *)
  268.     triggerRateEqual*            = $0010;                        (* when rate changes to equal trigger value *)
  269.     triggerRateLTE*                = triggerRateLT + triggerRateEqual;
  270.     triggerRateGTE*                = triggerRateGT + triggerRateEqual;
  271.     triggerRateNotEqual*            = triggerRateGT + triggerRateEqual + triggerRateLT;
  272.     triggerRateChange*            = 0;
  273.     triggerAtStart*                = $0001;
  274.     triggerAtStop*                = $0002;
  275.  
  276.     
  277. TYPE
  278.     QTCallBackFlags* = INTEGER;
  279.  
  280.  
  281. CONST
  282.     timeBaseBeforeStartTime*        = 1;
  283.     timeBaseAfterStopTime*        = 2;
  284.  
  285.     
  286. TYPE
  287.     TimeBaseStatus* = LONGINT;
  288.  
  289.  
  290. CONST
  291.     callBackAtTime*                = 1;
  292.     callBackAtRate*                = 2;
  293.     callBackAtTimeJump*            = 3;
  294.     callBackAtExtremes*            = 4;
  295.     callBackAtInterrupt*            = $8000;
  296.     callBackAtDeferredTask*        = $4000;
  297.  
  298.     
  299. TYPE
  300.     QTCallBackType* = INTEGER;
  301.  
  302.     QTCallBackProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (cb: QTCallBack; refCon: LONGINT);
  303.     QTCallBackUPP* = Types.UniversalProcPtr;
  304.  
  305.  
  306. CONST
  307.     qtcbNeedsRateChanges*        = 1;                            (* wants to know about rate changes *)
  308.     qtcbNeedsTimeChanges*        = 2;                            (* wants to know about time changes *)
  309.     qtcbNeedsStartStopChanges*    = 4;                            (* wants to know when TimeBase start/stop is changed*)
  310.  
  311.  
  312. TYPE
  313.     QTCallBackHeader* = RECORD
  314.         callBackFlags*:            LONGINT;
  315.         reserved1*:                LONGINT;
  316.         qtPrivate*:                ARRAY 40 (*ΔΔ[0..39]ΔΔ*) OF Types.SInt8;
  317.     END;
  318.  
  319.     QTSyncTaskProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (task: (*ΔΔUNIVΔΔ*) Types.Ptr);
  320.     QTSyncTaskUPP* = Types.UniversalProcPtr;
  321.  
  322.     QTSyncTaskRecord* = RECORD
  323.         qLink*:                    Types.Ptr;
  324.         proc*:                    QTSyncTaskUPP;
  325.     END;
  326.  
  327.     QTSyncTaskPtr* = POINTER TO QTSyncTaskRecord;
  328.  
  329.  
  330. CONST
  331.     keepInRam*                    = ASH(1,0);                    (* load and make non-purgable*)
  332.     unkeepInRam*                    = ASH(1,1);                    (* mark as purgable*)
  333.     flushFromRam*                = ASH(1,2);                    (* empty those handles*)
  334.     loadForwardTrackEdits*        = ASH(1,3);                    (*    load track edits into ram for playing forward*)
  335.     loadBackwardTrackEdits*        = ASH(1,4);                    (*    load track edits into ram for playing in reverse*)
  336.  
  337.     newMovieActive*                = ASH(1,0);
  338.     newMovieDontResolveDataRefs*    = ASH(1,1);
  339.     newMovieDontAskUnresolvedDataRefs* = ASH(1,2);
  340.     newMovieDontAutoAlternates*    = ASH(1,3);
  341.  
  342. (* track usage bits *)
  343.     trackUsageInMovie*            = ASH(1,1);
  344.     trackUsageInPreview*            = ASH(1,2);
  345.     trackUsageInPoster*            = ASH(1,3);
  346.  
  347. (* Add/GetMediaSample flags *)
  348.     mediaSampleNotSync*            = ASH(1,0);                    (* sample is not a sync sample (eg. is frame differenced *)
  349.     mediaSampleShadowSync*        = ASH(1,1);                    (* sample is a shadow sync *)
  350.  
  351.     pasteInParallel*                = 1;
  352.     showUserSettingsDialog*        = 2;
  353.     movieToFileOnlyExport*        = 4;
  354.  
  355.     nextTimeMediaSample*            = ASH(1,0);
  356.     nextTimeMediaEdit*            = ASH(1,1);
  357.     nextTimeTrackEdit*            = ASH(1,2);
  358.     nextTimeSyncSample*            = ASH(1,3);
  359.     nextTimeEdgeOK*                = ASH(1,14);
  360.     nextTimeIgnoreActiveSegment*    = ASH(1,15);
  361.  
  362.     
  363. TYPE
  364.     nextTimeFlagsEnum* = INTEGER;
  365.  
  366.  
  367. CONST
  368.     createMovieFileDeleteCurFile* = ASH(1,31);
  369.     createMovieFileDontCreateMovie* = ASH(1,30);
  370.     createMovieFileDontOpenFile*    = ASH(1,29);
  371.  
  372.     
  373. TYPE
  374.     createMovieFileFlagsEnum* = LONGINT;
  375.  
  376.  
  377. CONST
  378.     flattenAddMovieToDataFork*    = ASH(1,0);
  379.     flattenActiveTracksOnly*        = ASH(1,2);
  380.     flattenDontInterleaveFlatten* = ASH(1,3);
  381.  
  382.     
  383. TYPE
  384.     movieFlattenFlagsEnum* = LONGINT;
  385.  
  386.  
  387. CONST
  388.     movieInDataForkResID*        = -1;                            (* magic res AIFF.ID *)
  389.  
  390.     mcTopLeftMovie*                = ASH(1,0);                    (* usually centered *)
  391.     mcScaleMovieToFit*            = ASH(1,1);                    (* usually only scales down *)
  392.     mcWithBadge*                    = ASH(1,2);                    (* give me a badge *)
  393.     mcNotVisible*                = ASH(1,3);                    (* don't show controller *)
  394.     mcWithFrame*                    = ASH(1,4);                    (* gimme a frame *)
  395.  
  396.     movieScrapDontZeroScrap*        = ASH(1,0);
  397.     movieScrapOnlyPutMovie*        = ASH(1,1);
  398.  
  399.     dataRefSelfReference*        = ASH(1,0);
  400.     dataRefWasNotResolved*        = ASH(1,1);
  401.  
  402.     
  403. TYPE
  404.     dataRefAttributesFlags* = LONGINT;
  405.  
  406.  
  407. CONST
  408.     hintsScrubMode*                = ASH(1,0);                    (* mask == && (if flags == scrub on, flags != scrub off) *)
  409.     hintsLoop*                    = ASH(1,1);
  410.     hintsDontPurge*                = ASH(1,2);
  411.     hintsUseScreenBuffer*        = ASH(1,5);
  412.     hintsAllowInterlace*            = ASH(1,6);
  413.     hintsUseSoundInterp*            = ASH(1,7);
  414.     hintsHighQuality*            = ASH(1,8);                    (* slooooow *)
  415.     hintsPalindrome*                = ASH(1,9);
  416.     hintsInactive*                = ASH(1,11);
  417.  
  418.     
  419. TYPE
  420.     playHintsEnum* = LONGINT;
  421.  
  422.  
  423. CONST
  424.     mediaHandlerFlagBaseClient*    = 1;
  425.  
  426.     
  427. TYPE
  428.     mediaHandlerFlagsEnum* = LONGINT;
  429.  
  430.  
  431. CONST
  432.     movieTrackMediaType*            = ASH(1,0);
  433.     movieTrackCharacteristic*    = ASH(1,1);
  434.     movieTrackEnabledOnly*        = ASH(1,2);
  435.  
  436.  
  437. TYPE
  438.     SampleReferenceRecord* = RECORD
  439.         dataOffset*:                LONGINT;
  440.         dataSize*:                LONGINT;
  441.         durationPerSample*:        TimeValue;
  442.         numberOfSamples*:        LONGINT;
  443.         sampleFlags*:            INTEGER;
  444.     END;
  445.  
  446.     SampleReferencePtr* = POINTER TO SampleReferenceRecord;
  447.  
  448. (*************************
  449. * Initialization Routines 
  450. **************************)
  451.  
  452. PROCEDURE EnterMovies*(): Types.OSErr;
  453.     (*$IF NOT GENERATINGCFM*)
  454.     INLINE PASCAL $7001, $AAAA;
  455.     (*$END*)
  456. PROCEDURE ExitMovies*;
  457.     (*$IF NOT GENERATINGCFM*)
  458.     INLINE PASCAL $7002, $AAAA;
  459.     (*$END*)
  460. (*************************
  461. * Error Routines 
  462. **************************)
  463. PROCEDURE GetMoviesError*(): Types.OSErr;
  464.     (*$IF NOT GENERATINGCFM*)
  465.     INLINE PASCAL $7003, $AAAA;
  466.     (*$END*)
  467. PROCEDURE ClearMoviesStickyError*;
  468.     (*$IF NOT GENERATINGCFM*)
  469.     INLINE PASCAL $303C, $DE, $AAAA;
  470.     (*$END*)
  471. PROCEDURE GetMoviesStickyError*(): Types.OSErr;
  472.     (*$IF NOT GENERATINGCFM*)
  473.     INLINE PASCAL $7004, $AAAA;
  474.     (*$END*)
  475. PROCEDURE SetMoviesErrorProc*(errProc: MoviesErrorUPP; refcon: LONGINT);
  476.     (*$IF NOT GENERATINGCFM*)
  477.     INLINE PASCAL $303C, $EF, $AAAA;
  478.     (*$END*)
  479. (*************************
  480. * Idle Routines 
  481. **************************)
  482. PROCEDURE MoviesTask*(theMovie: Movie; maxMilliSecToUse: LONGINT);
  483.     (*$IF NOT GENERATINGCFM*)
  484.     INLINE PASCAL $7005, $AAAA;
  485.     (*$END*)
  486. PROCEDURE PrerollMovie*(theMovie: Movie; time: TimeValue; Rate: Types.Fixed): Types.OSErr;
  487.     (*$IF NOT GENERATINGCFM*)
  488.     INLINE PASCAL $7006, $AAAA;
  489.     (*$END*)
  490. PROCEDURE LoadMovieIntoRam*(theMovie: Movie; time: TimeValue; duration: TimeValue; flags: LONGINT): Types.OSErr;
  491.     (*$IF NOT GENERATINGCFM*)
  492.     INLINE PASCAL $7007, $AAAA;
  493.     (*$END*)
  494. PROCEDURE LoadTrackIntoRam*(theTrack: Track; time: TimeValue; duration: TimeValue; flags: LONGINT): Types.OSErr;
  495.     (*$IF NOT GENERATINGCFM*)
  496.     INLINE PASCAL $303C, $16E, $AAAA;
  497.     (*$END*)
  498. PROCEDURE LoadMediaIntoRam*(theMedia: Media; time: TimeValue; duration: TimeValue; flags: LONGINT): Types.OSErr;
  499.     (*$IF NOT GENERATINGCFM*)
  500.     INLINE PASCAL $7008, $AAAA;
  501.     (*$END*)
  502. PROCEDURE SetMovieActive*(theMovie: Movie; active: BOOLEAN);
  503.     (*$IF NOT GENERATINGCFM*)
  504.     INLINE PASCAL $7009, $AAAA;
  505.     (*$END*)
  506. PROCEDURE GetMovieActive*(theMovie: Movie): BOOLEAN;
  507.     (*$IF NOT GENERATINGCFM*)
  508.     INLINE PASCAL $700A, $AAAA;
  509.     (*$END*)
  510. (*************************
  511. * calls for playing movies, previews, posters
  512. **************************)
  513. PROCEDURE StartMovie*(theMovie: Movie);
  514.     (*$IF NOT GENERATINGCFM*)
  515.     INLINE PASCAL $700B, $AAAA;
  516.     (*$END*)
  517. PROCEDURE StopMovie*(theMovie: Movie);
  518.     (*$IF NOT GENERATINGCFM*)
  519.     INLINE PASCAL $700C, $AAAA;
  520.     (*$END*)
  521. PROCEDURE GoToBeginningOfMovie*(theMovie: Movie);
  522.     (*$IF NOT GENERATINGCFM*)
  523.     INLINE PASCAL $700D, $AAAA;
  524.     (*$END*)
  525. PROCEDURE GoToEndOfMovie*(theMovie: Movie);
  526.     (*$IF NOT GENERATINGCFM*)
  527.     INLINE PASCAL $700E, $AAAA;
  528.     (*$END*)
  529. PROCEDURE IsMovieDone*(theMovie: Movie): BOOLEAN;
  530.     (*$IF NOT GENERATINGCFM*)
  531.     INLINE PASCAL $303C, $DD, $AAAA;
  532.     (*$END*)
  533. PROCEDURE GetMoviePreviewMode*(theMovie: Movie): BOOLEAN;
  534.     (*$IF NOT GENERATINGCFM*)
  535.     INLINE PASCAL $700F, $AAAA;
  536.     (*$END*)
  537. PROCEDURE SetMoviePreviewMode*(theMovie: Movie; usePreview: BOOLEAN);
  538.     (*$IF NOT GENERATINGCFM*)
  539.     INLINE PASCAL $7010, $AAAA;
  540.     (*$END*)
  541. PROCEDURE ShowMoviePoster*(theMovie: Movie);
  542.     (*$IF NOT GENERATINGCFM*)
  543.     INLINE PASCAL $7011, $AAAA;
  544.     (*$END*)
  545. PROCEDURE PlayMoviePreview*(theMovie: Movie; callOutProc: MoviePreviewCallOutUPP; refcon: LONGINT);
  546.     (*$IF NOT GENERATINGCFM*)
  547.     INLINE PASCAL $303C, $F2, $AAAA;
  548.     (*$END*)
  549. (*************************
  550. * calls for controlling movies & tracks which are playing
  551. **************************)
  552. PROCEDURE GetMovieTimeBase*(theMovie: Movie): TimeBase;
  553.     (*$IF NOT GENERATINGCFM*)
  554.     INLINE PASCAL $7012, $AAAA;
  555.     (*$END*)
  556. PROCEDURE SetMovieMasterTimeBase*(theMovie: Movie; tb: TimeBase; (*CONST*)VAR slaveZero: TimeRecord);
  557.     (*$IF NOT GENERATINGCFM*)
  558.     INLINE PASCAL $303C, $167, $AAAA;
  559.     (*$END*)
  560. PROCEDURE SetMovieMasterClock*(theMovie: Movie; clockMeister: Components.Component; (*CONST*)VAR slaveZero: TimeRecord);
  561.     (*$IF NOT GENERATINGCFM*)
  562.     INLINE PASCAL $303C, $168, $AAAA;
  563.     (*$END*)
  564. PROCEDURE GetMovieGWorld*(theMovie: Movie; VAR port: Quickdraw.CGrafPtr; VAR gdh: Quickdraw.GDHandle);
  565.     (*$IF NOT GENERATINGCFM*)
  566.     INLINE PASCAL $7015, $AAAA;
  567.     (*$END*)
  568. PROCEDURE SetMovieGWorld*(theMovie: Movie; port: Quickdraw.CGrafPtr; gdh: Quickdraw.GDHandle);
  569.     (*$IF NOT GENERATINGCFM*)
  570.     INLINE PASCAL $7016, $AAAA;
  571.     (*$END*)
  572.  
  573. CONST
  574.     movieDrawingCallWhenChanged*    = 0;
  575.     movieDrawingCallAlways*        = 1;
  576.  
  577.  
  578. PROCEDURE SetMovieDrawingCompleteProc*(theMovie: Movie; flags: LONGINT; proc: MovieDrawingCompleteUPP; refCon: LONGINT);
  579.     (*$IF NOT GENERATINGCFM*)
  580.     INLINE PASCAL $303C, $1DE, $AAAA;
  581.     (*$END*)
  582. PROCEDURE GetNextTrackForCompositing*(theMovie: Movie; theTrack: Track): Track;
  583.     (*$IF NOT GENERATINGCFM*)
  584.     INLINE PASCAL $303C, $1FA, $AAAA;
  585.     (*$END*)
  586. PROCEDURE GetPrevTrackForCompositing*(theMovie: Movie; theTrack: Track): Track;
  587.     (*$IF NOT GENERATINGCFM*)
  588.     INLINE PASCAL $303C, $1FB, $AAAA;
  589.     (*$END*)
  590. PROCEDURE SetTrackGWorld*(theTrack: Track; port: Quickdraw.CGrafPtr; gdh: Quickdraw.GDHandle; proc: TrackTransferUPP; refCon: LONGINT);
  591.     (*$IF NOT GENERATINGCFM*)
  592.     INLINE PASCAL $303C, $9D, $AAAA;
  593.     (*$END*)
  594. PROCEDURE GetMoviePict*(theMovie: Movie; time: TimeValue): Quickdraw.PicHandle;
  595.     (*$IF NOT GENERATINGCFM*)
  596.     INLINE PASCAL $701D, $AAAA;
  597.     (*$END*)
  598. PROCEDURE GetTrackPict*(theTrack: Track; time: TimeValue): Quickdraw.PicHandle;
  599.     (*$IF NOT GENERATINGCFM*)
  600.     INLINE PASCAL $701E, $AAAA;
  601.     (*$END*)
  602. PROCEDURE GetMoviePosterPict*(theMovie: Movie): Quickdraw.PicHandle;
  603.     (*$IF NOT GENERATINGCFM*)
  604.     INLINE PASCAL $303C, $F7, $AAAA;
  605.     (*$END*)
  606. (* called between Begin & EndUpdate *)
  607. PROCEDURE UpdateMovie*(theMovie: Movie): Types.OSErr;
  608.     (*$IF NOT GENERATINGCFM*)
  609.     INLINE PASCAL $701F, $AAAA;
  610.     (*$END*)
  611. (**** spatial movie routines ****)
  612. PROCEDURE GetMovieBox*(theMovie: Movie; VAR boxRect: Types.Rect);
  613.     (*$IF NOT GENERATINGCFM*)
  614.     INLINE PASCAL $303C, $F9, $AAAA;
  615.     (*$END*)
  616. PROCEDURE SetMovieBox*(theMovie: Movie; (*CONST*)VAR boxRect: Types.Rect);
  617.     (*$IF NOT GENERATINGCFM*)
  618.     INLINE PASCAL $303C, $FA, $AAAA;
  619.     (*$END*)
  620. (** movie display clip *)
  621. PROCEDURE GetMovieDisplayClipRgn*(theMovie: Movie): Quickdraw.RgnHandle;
  622.     (*$IF NOT GENERATINGCFM*)
  623.     INLINE PASCAL $303C, $FC, $AAAA;
  624.     (*$END*)
  625. PROCEDURE SetMovieDisplayClipRgn*(theMovie: Movie; theClip: Quickdraw.RgnHandle);
  626.     (*$IF NOT GENERATINGCFM*)
  627.     INLINE PASCAL $303C, $FD, $AAAA;
  628.     (*$END*)
  629. (** movie src clip *)
  630. PROCEDURE GetMovieClipRgn*(theMovie: Movie): Quickdraw.RgnHandle;
  631.     (*$IF NOT GENERATINGCFM*)
  632.     INLINE PASCAL $303C, $100, $AAAA;
  633.     (*$END*)
  634. PROCEDURE SetMovieClipRgn*(theMovie: Movie; theClip: Quickdraw.RgnHandle);
  635.     (*$IF NOT GENERATINGCFM*)
  636.     INLINE PASCAL $303C, $101, $AAAA;
  637.     (*$END*)
  638. (** track src clip *)
  639. PROCEDURE GetTrackClipRgn*(theTrack: Track): Quickdraw.RgnHandle;
  640.     (*$IF NOT GENERATINGCFM*)
  641.     INLINE PASCAL $303C, $102, $AAAA;
  642.     (*$END*)
  643. PROCEDURE SetTrackClipRgn*(theTrack: Track; theClip: Quickdraw.RgnHandle);
  644.     (*$IF NOT GENERATINGCFM*)
  645.     INLINE PASCAL $303C, $103, $AAAA;
  646.     (*$END*)
  647. (** bounds in display space (not clipped by display clip) *)
  648. PROCEDURE GetMovieDisplayBoundsRgn*(theMovie: Movie): Quickdraw.RgnHandle;
  649.     (*$IF NOT GENERATINGCFM*)
  650.     INLINE PASCAL $303C, $FB, $AAAA;
  651.     (*$END*)
  652. PROCEDURE GetTrackDisplayBoundsRgn*(theTrack: Track): Quickdraw.RgnHandle;
  653.     (*$IF NOT GENERATINGCFM*)
  654.     INLINE PASCAL $303C, $112, $AAAA;
  655.     (*$END*)
  656. (** bounds in movie space *)
  657. PROCEDURE GetMovieBoundsRgn*(theMovie: Movie): Quickdraw.RgnHandle;
  658.     (*$IF NOT GENERATINGCFM*)
  659.     INLINE PASCAL $303C, $FE, $AAAA;
  660.     (*$END*)
  661. PROCEDURE GetTrackMovieBoundsRgn*(theTrack: Track): Quickdraw.RgnHandle;
  662.     (*$IF NOT GENERATINGCFM*)
  663.     INLINE PASCAL $303C, $FF, $AAAA;
  664.     (*$END*)
  665. (** bounds in track space *)
  666. PROCEDURE GetTrackBoundsRgn*(theTrack: Track): Quickdraw.RgnHandle;
  667.     (*$IF NOT GENERATINGCFM*)
  668.     INLINE PASCAL $303C, $111, $AAAA;
  669.     (*$END*)
  670. (** mattes - always in track space *)
  671. PROCEDURE GetTrackMatte*(theTrack: Track): Quickdraw.PixMapHandle;
  672.     (*$IF NOT GENERATINGCFM*)
  673.     INLINE PASCAL $303C, $115, $AAAA;
  674.     (*$END*)
  675. PROCEDURE SetTrackMatte*(theTrack: Track; theMatte: Quickdraw.PixMapHandle);
  676.     (*$IF NOT GENERATINGCFM*)
  677.     INLINE PASCAL $303C, $116, $AAAA;
  678.     (*$END*)
  679. PROCEDURE DisposeMatte*(theMatte: Quickdraw.PixMapHandle);
  680.     (*$IF NOT GENERATINGCFM*)
  681.     INLINE PASCAL $303C, $14A, $AAAA;
  682.     (*$END*)
  683. (*************************
  684. * calls for getting/saving movies
  685. **************************)
  686. PROCEDURE NewMovie*(flags: LONGINT): Movie;
  687.     (*$IF NOT GENERATINGCFM*)
  688.     INLINE PASCAL $303C, $187, $AAAA;
  689.     (*$END*)
  690. PROCEDURE PutMovieIntoHandle*(theMovie: Movie; publicMovie: Types.Handle): Types.OSErr;
  691.     (*$IF NOT GENERATINGCFM*)
  692.     INLINE PASCAL $7022, $AAAA;
  693.     (*$END*)
  694. PROCEDURE PutMovieIntoDataFork*(theMovie: Movie; fRefNum: INTEGER; offset: LONGINT; maxSize: LONGINT): Types.OSErr;
  695.     (*$IF NOT GENERATINGCFM*)
  696.     INLINE PASCAL $303C, $1B4, $AAAA;
  697.     (*$END*)
  698. PROCEDURE DisposeMovie*(theMovie: Movie);
  699.     (*$IF NOT GENERATINGCFM*)
  700.     INLINE PASCAL $7023, $AAAA;
  701.     (*$END*)
  702. (*************************
  703. * Movie State Routines
  704. **************************)
  705. PROCEDURE GetMovieCreationTime*(theMovie: Movie): LONGINT;
  706.     (*$IF NOT GENERATINGCFM*)
  707.     INLINE PASCAL $7026, $AAAA;
  708.     (*$END*)
  709. PROCEDURE GetMovieModificationTime*(theMovie: Movie): LONGINT;
  710.     (*$IF NOT GENERATINGCFM*)
  711.     INLINE PASCAL $7027, $AAAA;
  712.     (*$END*)
  713. PROCEDURE GetMovieTimeScale*(theMovie: Movie): TimeScale;
  714.     (*$IF NOT GENERATINGCFM*)
  715.     INLINE PASCAL $7029, $AAAA;
  716.     (*$END*)
  717. PROCEDURE SetMovieTimeScale*(theMovie: Movie; timeScale: TimeScale);
  718.     (*$IF NOT GENERATINGCFM*)
  719.     INLINE PASCAL $702A, $AAAA;
  720.     (*$END*)
  721. PROCEDURE GetMovieDuration*(theMovie: Movie): TimeValue;
  722.     (*$IF NOT GENERATINGCFM*)
  723.     INLINE PASCAL $702B, $AAAA;
  724.     (*$END*)
  725. PROCEDURE GetMovieRate*(theMovie: Movie): Types.Fixed;
  726.     (*$IF NOT GENERATINGCFM*)
  727.     INLINE PASCAL $702C, $AAAA;
  728.     (*$END*)
  729. PROCEDURE SetMovieRate*(theMovie: Movie; rate: Types.Fixed);
  730.     (*$IF NOT GENERATINGCFM*)
  731.     INLINE PASCAL $702D, $AAAA;
  732.     (*$END*)
  733. PROCEDURE GetMoviePreferredRate*(theMovie: Movie): Types.Fixed;
  734.     (*$IF NOT GENERATINGCFM*)
  735.     INLINE PASCAL $303C, $F3, $AAAA;
  736.     (*$END*)
  737. PROCEDURE SetMoviePreferredRate*(theMovie: Movie; rate: Types.Fixed);
  738.     (*$IF NOT GENERATINGCFM*)
  739.     INLINE PASCAL $303C, $F4, $AAAA;
  740.     (*$END*)
  741. PROCEDURE GetMoviePreferredVolume*(theMovie: Movie): INTEGER;
  742.     (*$IF NOT GENERATINGCFM*)
  743.     INLINE PASCAL $303C, $F5, $AAAA;
  744.     (*$END*)
  745. PROCEDURE SetMoviePreferredVolume*(theMovie: Movie; volume: INTEGER);
  746.     (*$IF NOT GENERATINGCFM*)
  747.     INLINE PASCAL $303C, $F6, $AAAA;
  748.     (*$END*)
  749. PROCEDURE GetMovieVolume*(theMovie: Movie): INTEGER;
  750.     (*$IF NOT GENERATINGCFM*)
  751.     INLINE PASCAL $702E, $AAAA;
  752.     (*$END*)
  753. PROCEDURE SetMovieVolume*(theMovie: Movie; volume: INTEGER);
  754.     (*$IF NOT GENERATINGCFM*)
  755.     INLINE PASCAL $702F, $AAAA;
  756.     (*$END*)
  757. PROCEDURE GetMovieMatrix*(theMovie: Movie; VAR matrix: ImageCompression.MatrixRecord);
  758.     (*$IF NOT GENERATINGCFM*)
  759.     INLINE PASCAL $7031, $AAAA;
  760.     (*$END*)
  761. PROCEDURE SetMovieMatrix*(theMovie: Movie; (*CONST*)VAR matrix: ImageCompression.MatrixRecord);
  762.     (*$IF NOT GENERATINGCFM*)
  763.     INLINE PASCAL $7032, $AAAA;
  764.     (*$END*)
  765. PROCEDURE GetMoviePreviewTime*(theMovie: Movie; VAR previewTime: TimeValue; VAR previewDuration: TimeValue);
  766.     (*$IF NOT GENERATINGCFM*)
  767.     INLINE PASCAL $7033, $AAAA;
  768.     (*$END*)
  769. PROCEDURE SetMoviePreviewTime*(theMovie: Movie; previewTime: TimeValue; previewDuration: TimeValue);
  770.     (*$IF NOT GENERATINGCFM*)
  771.     INLINE PASCAL $7034, $AAAA;
  772.     (*$END*)
  773. PROCEDURE GetMoviePosterTime*(theMovie: Movie): TimeValue;
  774.     (*$IF NOT GENERATINGCFM*)
  775.     INLINE PASCAL $7035, $AAAA;
  776.     (*$END*)
  777. PROCEDURE SetMoviePosterTime*(theMovie: Movie; posterTime: TimeValue);
  778.     (*$IF NOT GENERATINGCFM*)
  779.     INLINE PASCAL $7036, $AAAA;
  780.     (*$END*)
  781. PROCEDURE GetMovieSelection*(theMovie: Movie; VAR selectionTime: TimeValue; VAR selectionDuration: TimeValue);
  782.     (*$IF NOT GENERATINGCFM*)
  783.     INLINE PASCAL $7037, $AAAA;
  784.     (*$END*)
  785. PROCEDURE SetMovieSelection*(theMovie: Movie; selectionTime: TimeValue; selectionDuration: TimeValue);
  786.     (*$IF NOT GENERATINGCFM*)
  787.     INLINE PASCAL $7038, $AAAA;
  788.     (*$END*)
  789. PROCEDURE SetMovieActiveSegment*(theMovie: Movie; startTime: TimeValue; duration: TimeValue);
  790.     (*$IF NOT GENERATINGCFM*)
  791.     INLINE PASCAL $303C, $15C, $AAAA;
  792.     (*$END*)
  793. PROCEDURE GetMovieActiveSegment*(theMovie: Movie; VAR startTime: TimeValue; VAR duration: TimeValue);
  794.     (*$IF NOT GENERATINGCFM*)
  795.     INLINE PASCAL $303C, $15D, $AAAA;
  796.     (*$END*)
  797. PROCEDURE GetMovieTime*(theMovie: Movie; VAR currentTime: TimeRecord): TimeValue;
  798.     (*$IF NOT GENERATINGCFM*)
  799.     INLINE PASCAL $7039, $AAAA;
  800.     (*$END*)
  801. PROCEDURE SetMovieTime*(theMovie: Movie; (*CONST*)VAR newtime: TimeRecord);
  802.     (*$IF NOT GENERATINGCFM*)
  803.     INLINE PASCAL $703C, $AAAA;
  804.     (*$END*)
  805. PROCEDURE SetMovieTimeValue*(theMovie: Movie; newtime: TimeValue);
  806.     (*$IF NOT GENERATINGCFM*)
  807.     INLINE PASCAL $703D, $AAAA;
  808.     (*$END*)
  809. PROCEDURE GetMovieUserData*(theMovie: Movie): UserData;
  810.     (*$IF NOT GENERATINGCFM*)
  811.     INLINE PASCAL $703E, $AAAA;
  812.     (*$END*)
  813. (*************************
  814. * Track/Media finding routines
  815. **************************)
  816. PROCEDURE GetMovieTrackCount*(theMovie: Movie): LONGINT;
  817.     (*$IF NOT GENERATINGCFM*)
  818.     INLINE PASCAL $703F, $AAAA;
  819.     (*$END*)
  820. PROCEDURE GetMovieTrack*(theMovie: Movie; trackID: LONGINT): Track;
  821.     (*$IF NOT GENERATINGCFM*)
  822.     INLINE PASCAL $7040, $AAAA;
  823.     (*$END*)
  824. PROCEDURE GetMovieIndTrack*(theMovie: Movie; index: LONGINT): Track;
  825.     (*$IF NOT GENERATINGCFM*)
  826.     INLINE PASCAL $303C, $117, $AAAA;
  827.     (*$END*)
  828. PROCEDURE GetMovieIndTrackType*(theMovie: Movie; index: LONGINT; trackType: Types.OSType; flags: LONGINT): Track;
  829.     (*$IF NOT GENERATINGCFM*)
  830.     INLINE PASCAL $303C, $208, $AAAA;
  831.     (*$END*)
  832. PROCEDURE GetTrackID*(theTrack: Track): LONGINT;
  833.     (*$IF NOT GENERATINGCFM*)
  834.     INLINE PASCAL $303C, $127, $AAAA;
  835.     (*$END*)
  836. PROCEDURE GetTrackMovie*(theTrack: Track): Movie;
  837.     (*$IF NOT GENERATINGCFM*)
  838.     INLINE PASCAL $303C, $D0, $AAAA;
  839.     (*$END*)
  840. (*************************
  841. * Track creation routines
  842. **************************)
  843. PROCEDURE NewMovieTrack*(theMovie: Movie; width: Types.Fixed; height: Types.Fixed; trackVolume: INTEGER): Track;
  844.     (*$IF NOT GENERATINGCFM*)
  845.     INLINE PASCAL $303C, $188, $AAAA;
  846.     (*$END*)
  847. PROCEDURE DisposeMovieTrack*(theTrack: Track);
  848.     (*$IF NOT GENERATINGCFM*)
  849.     INLINE PASCAL $7042, $AAAA;
  850.     (*$END*)
  851. (*************************
  852. * Track State routines
  853. **************************)
  854. PROCEDURE GetTrackCreationTime*(theTrack: Track): LONGINT;
  855.     (*$IF NOT GENERATINGCFM*)
  856.     INLINE PASCAL $7043, $AAAA;
  857.     (*$END*)
  858. PROCEDURE GetTrackModificationTime*(theTrack: Track): LONGINT;
  859.     (*$IF NOT GENERATINGCFM*)
  860.     INLINE PASCAL $7044, $AAAA;
  861.     (*$END*)
  862. PROCEDURE GetTrackEnabled*(theTrack: Track): BOOLEAN;
  863.     (*$IF NOT GENERATINGCFM*)
  864.     INLINE PASCAL $7045, $AAAA;
  865.     (*$END*)
  866. PROCEDURE SetTrackEnabled*(theTrack: Track; isEnabled: BOOLEAN);
  867.     (*$IF NOT GENERATINGCFM*)
  868.     INLINE PASCAL $7046, $AAAA;
  869.     (*$END*)
  870. PROCEDURE GetTrackUsage*(theTrack: Track): LONGINT;
  871.     (*$IF NOT GENERATINGCFM*)
  872.     INLINE PASCAL $7047, $AAAA;
  873.     (*$END*)
  874. PROCEDURE SetTrackUsage*(theTrack: Track; usage: LONGINT);
  875.     (*$IF NOT GENERATINGCFM*)
  876.     INLINE PASCAL $7048, $AAAA;
  877.     (*$END*)
  878. PROCEDURE GetTrackDuration*(theTrack: Track): TimeValue;
  879.     (*$IF NOT GENERATINGCFM*)
  880.     INLINE PASCAL $704B, $AAAA;
  881.     (*$END*)
  882. PROCEDURE GetTrackOffset*(theTrack: Track): TimeValue;
  883.     (*$IF NOT GENERATINGCFM*)
  884.     INLINE PASCAL $704C, $AAAA;
  885.     (*$END*)
  886. PROCEDURE SetTrackOffset*(theTrack: Track; movieOffsetTime: TimeValue);
  887.     (*$IF NOT GENERATINGCFM*)
  888.     INLINE PASCAL $704D, $AAAA;
  889.     (*$END*)
  890. PROCEDURE GetTrackLayer*(theTrack: Track): INTEGER;
  891.     (*$IF NOT GENERATINGCFM*)
  892.     INLINE PASCAL $7050, $AAAA;
  893.     (*$END*)
  894. PROCEDURE SetTrackLayer*(theTrack: Track; layer: INTEGER);
  895.     (*$IF NOT GENERATINGCFM*)
  896.     INLINE PASCAL $7051, $AAAA;
  897.     (*$END*)
  898. PROCEDURE GetTrackAlternate*(theTrack: Track): Track;
  899.     (*$IF NOT GENERATINGCFM*)
  900.     INLINE PASCAL $7052, $AAAA;
  901.     (*$END*)
  902. PROCEDURE SetTrackAlternate*(theTrack: Track; alternateT: Track);
  903.     (*$IF NOT GENERATINGCFM*)
  904.     INLINE PASCAL $7053, $AAAA;
  905.     (*$END*)
  906. PROCEDURE SetAutoTrackAlternatesEnabled*(theMovie: Movie; enable: BOOLEAN);
  907.     (*$IF NOT GENERATINGCFM*)
  908.     INLINE PASCAL $303C, $15E, $AAAA;
  909.     (*$END*)
  910. PROCEDURE SelectMovieAlternates*(theMovie: Movie);
  911.     (*$IF NOT GENERATINGCFM*)
  912.     INLINE PASCAL $303C, $15F, $AAAA;
  913.     (*$END*)
  914. PROCEDURE GetTrackVolume*(theTrack: Track): INTEGER;
  915.     (*$IF NOT GENERATINGCFM*)
  916.     INLINE PASCAL $7054, $AAAA;
  917.     (*$END*)
  918. PROCEDURE SetTrackVolume*(theTrack: Track; volume: INTEGER);
  919.     (*$IF NOT GENERATINGCFM*)
  920.     INLINE PASCAL $7055, $AAAA;
  921.     (*$END*)
  922. PROCEDURE GetTrackMatrix*(theTrack: Track; VAR matrix: ImageCompression.MatrixRecord);
  923.     (*$IF NOT GENERATINGCFM*)
  924.     INLINE PASCAL $7056, $AAAA;
  925.     (*$END*)
  926. PROCEDURE SetTrackMatrix*(theTrack: Track; (*CONST*)VAR matrix: ImageCompression.MatrixRecord);
  927.     (*$IF NOT GENERATINGCFM*)
  928.     INLINE PASCAL $7057, $AAAA;
  929.     (*$END*)
  930. PROCEDURE GetTrackDimensions*(theTrack: Track; VAR width: Types.Fixed; VAR height: Types.Fixed);
  931.     (*$IF NOT GENERATINGCFM*)
  932.     INLINE PASCAL $705D, $AAAA;
  933.     (*$END*)
  934. PROCEDURE SetTrackDimensions*(theTrack: Track; width: Types.Fixed; height: Types.Fixed);
  935.     (*$IF NOT GENERATINGCFM*)
  936.     INLINE PASCAL $705E, $AAAA;
  937.     (*$END*)
  938. PROCEDURE GetTrackUserData*(theTrack: Track): UserData;
  939.     (*$IF NOT GENERATINGCFM*)
  940.     INLINE PASCAL $705F, $AAAA;
  941.     (*$END*)
  942. (*************************
  943. * get Media routines
  944. **************************)
  945. PROCEDURE NewTrackMedia*(theTrack: Track; mediaType: Types.OSType; timeScale: TimeScale; dataRef: Types.Handle; dataRefType: Types.OSType): Media;
  946.     (*$IF NOT GENERATINGCFM*)
  947.     INLINE PASCAL $303C, $18E, $AAAA;
  948.     (*$END*)
  949. PROCEDURE DisposeTrackMedia*(theMedia: Media);
  950.     (*$IF NOT GENERATINGCFM*)
  951.     INLINE PASCAL $7061, $AAAA;
  952.     (*$END*)
  953. PROCEDURE GetTrackMedia*(theTrack: Track): Media;
  954.     (*$IF NOT GENERATINGCFM*)
  955.     INLINE PASCAL $7062, $AAAA;
  956.     (*$END*)
  957. PROCEDURE GetMediaTrack*(theMedia: Media): Track;
  958.     (*$IF NOT GENERATINGCFM*)
  959.     INLINE PASCAL $303C, $C5, $AAAA;
  960.     (*$END*)
  961. (*************************
  962. * Media State routines
  963. **************************)
  964. PROCEDURE GetMediaCreationTime*(theMedia: Media): LONGINT;
  965.     (*$IF NOT GENERATINGCFM*)
  966.     INLINE PASCAL $7066, $AAAA;
  967.     (*$END*)
  968. PROCEDURE GetMediaModificationTime*(theMedia: Media): LONGINT;
  969.     (*$IF NOT GENERATINGCFM*)
  970.     INLINE PASCAL $7067, $AAAA;
  971.     (*$END*)
  972. PROCEDURE GetMediaTimeScale*(theMedia: Media): TimeScale;
  973.     (*$IF NOT GENERATINGCFM*)
  974.     INLINE PASCAL $7068, $AAAA;
  975.     (*$END*)
  976. PROCEDURE SetMediaTimeScale*(theMedia: Media; timeScale: TimeScale);
  977.     (*$IF NOT GENERATINGCFM*)
  978.     INLINE PASCAL $7069, $AAAA;
  979.     (*$END*)
  980. PROCEDURE GetMediaDuration*(theMedia: Media): TimeValue;
  981.     (*$IF NOT GENERATINGCFM*)
  982.     INLINE PASCAL $706A, $AAAA;
  983.     (*$END*)
  984. PROCEDURE GetMediaLanguage*(theMedia: Media): INTEGER;
  985.     (*$IF NOT GENERATINGCFM*)
  986.     INLINE PASCAL $706B, $AAAA;
  987.     (*$END*)
  988. PROCEDURE SetMediaLanguage*(theMedia: Media; language: INTEGER);
  989.     (*$IF NOT GENERATINGCFM*)
  990.     INLINE PASCAL $706C, $AAAA;
  991.     (*$END*)
  992. PROCEDURE GetMediaQuality*(theMedia: Media): INTEGER;
  993.     (*$IF NOT GENERATINGCFM*)
  994.     INLINE PASCAL $706D, $AAAA;
  995.     (*$END*)
  996. PROCEDURE SetMediaQuality*(theMedia: Media; quality: INTEGER);
  997.     (*$IF NOT GENERATINGCFM*)
  998.     INLINE PASCAL $706E, $AAAA;
  999.     (*$END*)
  1000. PROCEDURE GetMediaHandlerDescription*(theMedia: Media; VAR mediaType: Types.OSType; VAR creatorName: Types.Str255; VAR creatorManufacturer: Types.OSType);
  1001.     (*$IF NOT GENERATINGCFM*)
  1002.     INLINE PASCAL $706F, $AAAA;
  1003.     (*$END*)
  1004. PROCEDURE GetMediaUserData*(theMedia: Media): UserData;
  1005.     (*$IF NOT GENERATINGCFM*)
  1006.     INLINE PASCAL $7070, $AAAA;
  1007.     (*$END*)
  1008. (*************************
  1009. * Media Handler routines
  1010. **************************)
  1011. PROCEDURE GetMediaHandler*(theMedia: Media): MediaHandler;
  1012.     (*$IF NOT GENERATINGCFM*)
  1013.     INLINE PASCAL $7071, $AAAA;
  1014.     (*$END*)
  1015. PROCEDURE SetMediaHandler*(theMedia: Media; mH: MediaHandlerComponent): Types.OSErr;
  1016.     (*$IF NOT GENERATINGCFM*)
  1017.     INLINE PASCAL $303C, $190, $AAAA;
  1018.     (*$END*)
  1019. (*************************
  1020. * Media's Data routines
  1021. **************************)
  1022. PROCEDURE BeginMediaEdits*(theMedia: Media): Types.OSErr;
  1023.     (*$IF NOT GENERATINGCFM*)
  1024.     INLINE PASCAL $7072, $AAAA;
  1025.     (*$END*)
  1026. PROCEDURE EndMediaEdits*(theMedia: Media): Types.OSErr;
  1027.     (*$IF NOT GENERATINGCFM*)
  1028.     INLINE PASCAL $7073, $AAAA;
  1029.     (*$END*)
  1030. PROCEDURE SetMediaDefaultDataRefIndex*(theMedia: Media; index: INTEGER): Types.OSErr;
  1031.     (*$IF NOT GENERATINGCFM*)
  1032.     INLINE PASCAL $303C, $1E0, $AAAA;
  1033.     (*$END*)
  1034. PROCEDURE GetMediaDataHandlerDescription*(theMedia: Media; index: INTEGER; VAR dhType: Types.OSType; VAR creatorName: Types.Str255; VAR creatorManufacturer: Types.OSType);
  1035.     (*$IF NOT GENERATINGCFM*)
  1036.     INLINE PASCAL $303C, $19E, $AAAA;
  1037.     (*$END*)
  1038. PROCEDURE GetMediaDataHandler*(theMedia: Media; index: INTEGER): DataHandler;
  1039.     (*$IF NOT GENERATINGCFM*)
  1040.     INLINE PASCAL $303C, $19F, $AAAA;
  1041.     (*$END*)
  1042. PROCEDURE SetMediaDataHandler*(theMedia: Media; index: INTEGER; dataHandler: DataHandlerComponent): Types.OSErr;
  1043.     (*$IF NOT GENERATINGCFM*)
  1044.     INLINE PASCAL $303C, $1A0, $AAAA;
  1045.     (*$END*)
  1046. PROCEDURE GetDataHandler*(dataRef: Types.Handle; dataHandlerSubType: Types.OSType; flags: LONGINT): Components.Component;
  1047.     (*$IF NOT GENERATINGCFM*)
  1048.     INLINE PASCAL $303C, $1ED, $AAAA;
  1049.     (*$END*)
  1050. (*************************
  1051. * Media Sample Table Routines
  1052. **************************)
  1053. PROCEDURE GetMediaSampleDescriptionCount*(theMedia: Media): LONGINT;
  1054.     (*$IF NOT GENERATINGCFM*)
  1055.     INLINE PASCAL $7077, $AAAA;
  1056.     (*$END*)
  1057. PROCEDURE GetMediaSampleDescription*(theMedia: Media; index: LONGINT; descH: SampleDescriptionHandle);
  1058.     (*$IF NOT GENERATINGCFM*)
  1059.     INLINE PASCAL $7078, $AAAA;
  1060.     (*$END*)
  1061. PROCEDURE SetMediaSampleDescription*(theMedia: Media; index: LONGINT; descH: SampleDescriptionHandle): Types.OSErr;
  1062.     (*$IF NOT GENERATINGCFM*)
  1063.     INLINE PASCAL $303C, $1D0, $AAAA;
  1064.     (*$END*)
  1065. PROCEDURE GetMediaSampleCount*(theMedia: Media): LONGINT;
  1066.     (*$IF NOT GENERATINGCFM*)
  1067.     INLINE PASCAL $7079, $AAAA;
  1068.     (*$END*)
  1069. PROCEDURE SampleNumToMediaTime*(theMedia: Media; logicalSampleNum: LONGINT; VAR sampleTime: TimeValue; VAR sampleDuration: TimeValue);
  1070.     (*$IF NOT GENERATINGCFM*)
  1071.     INLINE PASCAL $707A, $AAAA;
  1072.     (*$END*)
  1073. PROCEDURE MediaTimeToSampleNum*(theMedia: Media; time: TimeValue; VAR sampleNum: LONGINT; VAR sampleTime: TimeValue; VAR sampleDuration: TimeValue);
  1074.     (*$IF NOT GENERATINGCFM*)
  1075.     INLINE PASCAL $707B, $AAAA;
  1076.     (*$END*)
  1077. PROCEDURE AddMediaSample*(theMedia: Media; dataIn: Types.Handle; inOffset: LONGINT; size: LONGINT; durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: LONGINT; sampleFlags: INTEGER; VAR sampleTime: TimeValue): Types.OSErr;
  1078.     (*$IF NOT GENERATINGCFM*)
  1079.     INLINE PASCAL $707C, $AAAA;
  1080.     (*$END*)
  1081. PROCEDURE AddMediaSampleReference*(theMedia: Media; dataOffset: LONGINT; size: LONGINT; durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: LONGINT; sampleFlags: INTEGER; VAR sampleTime: TimeValue): Types.OSErr;
  1082.     (*$IF NOT GENERATINGCFM*)
  1083.     INLINE PASCAL $707D, $AAAA;
  1084.     (*$END*)
  1085. PROCEDURE AddMediaSampleReferences*(theMedia: Media; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: LONGINT; sampleRefs: SampleReferencePtr; VAR sampleTime: TimeValue): Types.OSErr;
  1086.     (*$IF NOT GENERATINGCFM*)
  1087.     INLINE PASCAL $303C, $1F7, $AAAA;
  1088.     (*$END*)
  1089. PROCEDURE GetMediaSample*(theMedia: Media; dataOut: Types.Handle; maxSizeToGrow: LONGINT; VAR size: LONGINT; time: TimeValue; VAR sampleTime: TimeValue; VAR durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; VAR sampleDescriptionIndex: LONGINT; maxNumberOfSamples: LONGINT; VAR numberOfSamples: LONGINT; VAR sampleFlags: INTEGER): Types.OSErr;
  1090.     (*$IF NOT GENERATINGCFM*)
  1091.     INLINE PASCAL $707E, $AAAA;
  1092.     (*$END*)
  1093. PROCEDURE GetMediaSampleReference*(theMedia: Media; VAR dataOffset: LONGINT; VAR size: LONGINT; time: TimeValue; VAR sampleTime: TimeValue; VAR durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; VAR sampleDescriptionIndex: LONGINT; maxNumberOfSamples: LONGINT; VAR numberOfSamples: LONGINT; VAR sampleFlags: INTEGER): Types.OSErr;
  1094.     (*$IF NOT GENERATINGCFM*)
  1095.     INLINE PASCAL $707F, $AAAA;
  1096.     (*$END*)
  1097. PROCEDURE SetMediaPreferredChunkSize*(theMedia: Media; maxChunkSize: LONGINT): Types.OSErr;
  1098.     (*$IF NOT GENERATINGCFM*)
  1099.     INLINE PASCAL $303C, $1F8, $AAAA;
  1100.     (*$END*)
  1101. PROCEDURE GetMediaPreferredChunkSize*(theMedia: Media; VAR maxChunkSize: LONGINT): Types.OSErr;
  1102.     (*$IF NOT GENERATINGCFM*)
  1103.     INLINE PASCAL $303C, $1F9, $AAAA;
  1104.     (*$END*)
  1105. PROCEDURE SetMediaShadowSync*(theMedia: Media; frameDiffSampleNum: LONGINT; syncSampleNum: LONGINT): Types.OSErr;
  1106.     (*$IF NOT GENERATINGCFM*)
  1107.     INLINE PASCAL $303C, $121, $AAAA;
  1108.     (*$END*)
  1109. PROCEDURE GetMediaShadowSync*(theMedia: Media; frameDiffSampleNum: LONGINT; VAR syncSampleNum: LONGINT): Types.OSErr;
  1110.     (*$IF NOT GENERATINGCFM*)
  1111.     INLINE PASCAL $303C, $122, $AAAA;
  1112.     (*$END*)
  1113. (*************************
  1114. * Editing Routines
  1115. **************************)
  1116. PROCEDURE InsertMediaIntoTrack*(theTrack: Track; trackStart: TimeValue; mediaTime: TimeValue; mediaDuration: TimeValue; mediaRate: Types.Fixed): Types.OSErr;
  1117.     (*$IF NOT GENERATINGCFM*)
  1118.     INLINE PASCAL $303C, $183, $AAAA;
  1119.     (*$END*)
  1120. PROCEDURE InsertTrackSegment*(srcTrack: Track; dstTrack: Track; srcIn: TimeValue; srcDuration: TimeValue; dstIn: TimeValue): Types.OSErr;
  1121.     (*$IF NOT GENERATINGCFM*)
  1122.     INLINE PASCAL $303C, $85, $AAAA;
  1123.     (*$END*)
  1124. PROCEDURE InsertMovieSegment*(srcMovie: Movie; dstMovie: Movie; srcIn: TimeValue; srcDuration: TimeValue; dstIn: TimeValue): Types.OSErr;
  1125.     (*$IF NOT GENERATINGCFM*)
  1126.     INLINE PASCAL $303C, $86, $AAAA;
  1127.     (*$END*)
  1128. PROCEDURE InsertEmptyTrackSegment*(dstTrack: Track; dstIn: TimeValue; dstDuration: TimeValue): Types.OSErr;
  1129.     (*$IF NOT GENERATINGCFM*)
  1130.     INLINE PASCAL $303C, $87, $AAAA;
  1131.     (*$END*)
  1132. PROCEDURE InsertEmptyMovieSegment*(dstMovie: Movie; dstIn: TimeValue; dstDuration: TimeValue): Types.OSErr;
  1133.     (*$IF NOT GENERATINGCFM*)
  1134.     INLINE PASCAL $303C, $88, $AAAA;
  1135.     (*$END*)
  1136. PROCEDURE DeleteTrackSegment*(theTrack: Track; startTime: TimeValue; duration: TimeValue): Types.OSErr;
  1137.     (*$IF NOT GENERATINGCFM*)
  1138.     INLINE PASCAL $303C, $89, $AAAA;
  1139.     (*$END*)
  1140. PROCEDURE DeleteMovieSegment*(theMovie: Movie; startTime: TimeValue; duration: TimeValue): Types.OSErr;
  1141.     (*$IF NOT GENERATINGCFM*)
  1142.     INLINE PASCAL $303C, $8A, $AAAA;
  1143.     (*$END*)
  1144. PROCEDURE ScaleTrackSegment*(theTrack: Track; startTime: TimeValue; oldDuration: TimeValue; newDuration: TimeValue): Types.OSErr;
  1145.     (*$IF NOT GENERATINGCFM*)
  1146.     INLINE PASCAL $303C, $8B, $AAAA;
  1147.     (*$END*)
  1148. PROCEDURE ScaleMovieSegment*(theMovie: Movie; startTime: TimeValue; oldDuration: TimeValue; newDuration: TimeValue): Types.OSErr;
  1149.     (*$IF NOT GENERATINGCFM*)
  1150.     INLINE PASCAL $303C, $8C, $AAAA;
  1151.     (*$END*)
  1152. (*************************
  1153. * Hi-level Editing Routines
  1154. **************************)
  1155. PROCEDURE CutMovieSelection*(theMovie: Movie): Movie;
  1156.     (*$IF NOT GENERATINGCFM*)
  1157.     INLINE PASCAL $303C, $8D, $AAAA;
  1158.     (*$END*)
  1159. PROCEDURE CopyMovieSelection*(theMovie: Movie): Movie;
  1160.     (*$IF NOT GENERATINGCFM*)
  1161.     INLINE PASCAL $303C, $8E, $AAAA;
  1162.     (*$END*)
  1163. PROCEDURE PasteMovieSelection*(theMovie: Movie; src: Movie);
  1164.     (*$IF NOT GENERATINGCFM*)
  1165.     INLINE PASCAL $303C, $8F, $AAAA;
  1166.     (*$END*)
  1167. PROCEDURE AddMovieSelection*(theMovie: Movie; src: Movie);
  1168.     (*$IF NOT GENERATINGCFM*)
  1169.     INLINE PASCAL $303C, $152, $AAAA;
  1170.     (*$END*)
  1171. PROCEDURE ClearMovieSelection*(theMovie: Movie);
  1172.     (*$IF NOT GENERATINGCFM*)
  1173.     INLINE PASCAL $303C, $E1, $AAAA;
  1174.     (*$END*)
  1175. PROCEDURE PasteHandleIntoMovie*(h: Types.Handle; handleType: Types.OSType; theMovie: Movie; flags: LONGINT; userComp: Components.ComponentInstance): Types.OSErr;
  1176.     (*$IF NOT GENERATINGCFM*)
  1177.     INLINE PASCAL $303C, $CB, $AAAA;
  1178.     (*$END*)
  1179. PROCEDURE PutMovieIntoTypedHandle*(theMovie: Movie; targetTrack: Track; handleType: Types.OSType; publicMovie: Types.Handle; start: TimeValue; dur: TimeValue; flags: LONGINT; userComp: Components.ComponentInstance): Types.OSErr;
  1180.     (*$IF NOT GENERATINGCFM*)
  1181.     INLINE PASCAL $303C, $1CD, $AAAA;
  1182.     (*$END*)
  1183. PROCEDURE IsScrapMovie*(targetTrack: Track): Components.Component;
  1184.     (*$IF NOT GENERATINGCFM*)
  1185.     INLINE PASCAL $303C, $CC, $AAAA;
  1186.     (*$END*)
  1187. (*************************
  1188. * Middle-level Editing Routines
  1189. **************************)
  1190. PROCEDURE CopyTrackSettings*(srcTrack: Track; dstTrack: Track): Types.OSErr;
  1191.     (*$IF NOT GENERATINGCFM*)
  1192.     INLINE PASCAL $303C, $153, $AAAA;
  1193.     (*$END*)
  1194. PROCEDURE CopyMovieSettings*(srcMovie: Movie; dstMovie: Movie): Types.OSErr;
  1195.     (*$IF NOT GENERATINGCFM*)
  1196.     INLINE PASCAL $303C, $154, $AAAA;
  1197.     (*$END*)
  1198. PROCEDURE AddEmptyTrackToMovie*(srcTrack: Track; dstMovie: Movie; dataRef: Types.Handle; dataRefType: Types.OSType; VAR dstTrack: Track): Types.OSErr;
  1199.     (*$IF NOT GENERATINGCFM*)
  1200.     INLINE PASCAL $7074, $AAAA;
  1201.     (*$END*)
  1202. (*************************
  1203. * movie & track edit state routines
  1204. **************************)
  1205. PROCEDURE NewMovieEditState*(theMovie: Movie): MovieEditState;
  1206.     (*$IF NOT GENERATINGCFM*)
  1207.     INLINE PASCAL $303C, $104, $AAAA;
  1208.     (*$END*)
  1209. PROCEDURE UseMovieEditState*(theMovie: Movie; toState: MovieEditState): Types.OSErr;
  1210.     (*$IF NOT GENERATINGCFM*)
  1211.     INLINE PASCAL $303C, $105, $AAAA;
  1212.     (*$END*)
  1213. PROCEDURE DisposeMovieEditState*(state: MovieEditState): Types.OSErr;
  1214.     (*$IF NOT GENERATINGCFM*)
  1215.     INLINE PASCAL $303C, $106, $AAAA;
  1216.     (*$END*)
  1217. PROCEDURE NewTrackEditState*(theTrack: Track): TrackEditState;
  1218.     (*$IF NOT GENERATINGCFM*)
  1219.     INLINE PASCAL $303C, $107, $AAAA;
  1220.     (*$END*)
  1221. PROCEDURE UseTrackEditState*(theTrack: Track; state: TrackEditState): Types.OSErr;
  1222.     (*$IF NOT GENERATINGCFM*)
  1223.     INLINE PASCAL $303C, $108, $AAAA;
  1224.     (*$END*)
  1225. PROCEDURE DisposeTrackEditState*(state: TrackEditState): Types.OSErr;
  1226.     (*$IF NOT GENERATINGCFM*)
  1227.     INLINE PASCAL $303C, $109, $AAAA;
  1228.     (*$END*)
  1229. (*************************
  1230. * track reference routines
  1231. **************************)
  1232. PROCEDURE AddTrackReference*(theTrack: Track; refTrack: Track; refType: Types.OSType; VAR addedIndex: LONGINT): Types.OSErr;
  1233.     (*$IF NOT GENERATINGCFM*)
  1234.     INLINE PASCAL $303C, $1F0, $AAAA;
  1235.     (*$END*)
  1236. PROCEDURE DeleteTrackReference*(theTrack: Track; refType: Types.OSType; index: LONGINT): Types.OSErr;
  1237.     (*$IF NOT GENERATINGCFM*)
  1238.     INLINE PASCAL $303C, $1F1, $AAAA;
  1239.     (*$END*)
  1240. PROCEDURE SetTrackReference*(theTrack: Track; refTrack: Track; refType: Types.OSType; index: LONGINT): Types.OSErr;
  1241.     (*$IF NOT GENERATINGCFM*)
  1242.     INLINE PASCAL $303C, $1F2, $AAAA;
  1243.     (*$END*)
  1244. PROCEDURE GetTrackReference*(theTrack: Track; refType: Types.OSType; index: LONGINT): Track;
  1245.     (*$IF NOT GENERATINGCFM*)
  1246.     INLINE PASCAL $303C, $1F3, $AAAA;
  1247.     (*$END*)
  1248. PROCEDURE GetNextTrackReferenceType*(theTrack: Track; refType: Types.OSType): Types.OSType;
  1249.     (*$IF NOT GENERATINGCFM*)
  1250.     INLINE PASCAL $303C, $1F4, $AAAA;
  1251.     (*$END*)
  1252. PROCEDURE GetTrackReferenceCount*(theTrack: Track; refType: Types.OSType): LONGINT;
  1253.     (*$IF NOT GENERATINGCFM*)
  1254.     INLINE PASCAL $303C, $1F5, $AAAA;
  1255.     (*$END*)
  1256. (*************************
  1257. * high level file conversion routines
  1258. **************************)
  1259. PROCEDURE ConvertFileToMovieFile*((*CONST*)VAR inputFile: Files.FSSpec; (*CONST*)VAR outputFile: Files.FSSpec; creator: Types.OSType; scriptTag: Types.ScriptCode; VAR resID: INTEGER; flags: LONGINT; userComp: Components.ComponentInstance; proc: MovieProgressUPP; refCon: LONGINT): Types.OSErr;
  1260.     (*$IF NOT GENERATINGCFM*)
  1261.     INLINE PASCAL $303C, $1CB, $AAAA;
  1262.     (*$END*)
  1263. PROCEDURE ConvertMovieToFile*(theMovie: Movie; onlyTrack: Track; VAR outputFile: Files.FSSpec; fileType: Types.OSType; creator: Types.OSType; scriptTag: Types.ScriptCode; VAR resID: INTEGER; flags: LONGINT; userComp: Components.ComponentInstance): Types.OSErr;
  1264.     (*$IF NOT GENERATINGCFM*)
  1265.     INLINE PASCAL $303C, $1CC, $AAAA;
  1266.     (*$END*)
  1267. (*************************
  1268. * Movie Timebase Conversion Routines
  1269. **************************)
  1270. PROCEDURE TrackTimeToMediaTime*(value: TimeValue; theTrack: Track): TimeValue;
  1271.     (*$IF NOT GENERATINGCFM*)
  1272.     INLINE PASCAL $303C, $96, $AAAA;
  1273.     (*$END*)
  1274. PROCEDURE GetTrackEditRate*(theTrack: Track; atTime: TimeValue): Types.Fixed;
  1275.     (*$IF NOT GENERATINGCFM*)
  1276.     INLINE PASCAL $303C, $123, $AAAA;
  1277.     (*$END*)
  1278. (*************************
  1279. * Miscellaneous Routines
  1280. **************************)
  1281. PROCEDURE GetMovieDataSize*(theMovie: Movie; startTime: TimeValue; duration: TimeValue): LONGINT;
  1282.     (*$IF NOT GENERATINGCFM*)
  1283.     INLINE PASCAL $303C, $98, $AAAA;
  1284.     (*$END*)
  1285. PROCEDURE GetTrackDataSize*(theTrack: Track; startTime: TimeValue; duration: TimeValue): LONGINT;
  1286.     (*$IF NOT GENERATINGCFM*)
  1287.     INLINE PASCAL $303C, $149, $AAAA;
  1288.     (*$END*)
  1289. PROCEDURE GetMediaDataSize*(theMedia: Media; startTime: TimeValue; duration: TimeValue): LONGINT;
  1290.     (*$IF NOT GENERATINGCFM*)
  1291.     INLINE PASCAL $303C, $99, $AAAA;
  1292.     (*$END*)
  1293. PROCEDURE PtInMovie*(theMovie: Movie; pt: Types.Point): BOOLEAN;
  1294.     (*$IF NOT GENERATINGCFM*)
  1295.     INLINE PASCAL $303C, $9A, $AAAA;
  1296.     (*$END*)
  1297. PROCEDURE PtInTrack*(theTrack: Track; pt: Types.Point): BOOLEAN;
  1298.     (*$IF NOT GENERATINGCFM*)
  1299.     INLINE PASCAL $303C, $9B, $AAAA;
  1300.     (*$END*)
  1301. (*************************
  1302. * Group Selection Routines
  1303. **************************)
  1304. PROCEDURE SetMovieLanguage*(theMovie: Movie; language: LONGINT);
  1305.     (*$IF NOT GENERATINGCFM*)
  1306.     INLINE PASCAL $303C, $9C, $AAAA;
  1307.     (*$END*)
  1308. (*************************
  1309. * User Data
  1310. **************************)
  1311. PROCEDURE GetUserData*(theUserData: UserData; data: Types.Handle; udType: Types.OSType; index: LONGINT): Types.OSErr;
  1312.     (*$IF NOT GENERATINGCFM*)
  1313.     INLINE PASCAL $303C, $9E, $AAAA;
  1314.     (*$END*)
  1315. PROCEDURE AddUserData*(theUserData: UserData; data: Types.Handle; udType: Types.OSType): Types.OSErr;
  1316.     (*$IF NOT GENERATINGCFM*)
  1317.     INLINE PASCAL $303C, $9F, $AAAA;
  1318.     (*$END*)
  1319. PROCEDURE RemoveUserData*(theUserData: UserData; udType: Types.OSType; index: LONGINT): Types.OSErr;
  1320.     (*$IF NOT GENERATINGCFM*)
  1321.     INLINE PASCAL $303C, $A0, $AAAA;
  1322.     (*$END*)
  1323. PROCEDURE CountUserDataType*(theUserData: UserData; udType: Types.OSType): INTEGER;
  1324.     (*$IF NOT GENERATINGCFM*)
  1325.     INLINE PASCAL $303C, $14B, $AAAA;
  1326.     (*$END*)
  1327. PROCEDURE GetNextUserDataType*(theUserData: UserData; udType: Types.OSType): LONGINT;
  1328.     (*$IF NOT GENERATINGCFM*)
  1329.     INLINE PASCAL $303C, $1A5, $AAAA;
  1330.     (*$END*)
  1331. PROCEDURE GetUserDataItem*(theUserData: UserData; data: (*ΔΔUNIVΔΔ*) Types.Ptr; size: LONGINT; udType: Types.OSType; index: LONGINT): Types.OSErr;
  1332.     (*$IF NOT GENERATINGCFM*)
  1333.     INLINE PASCAL $303C, $126, $AAAA;
  1334.     (*$END*)
  1335. PROCEDURE SetUserDataItem*(theUserData: UserData; data: (*ΔΔUNIVΔΔ*) Types.Ptr; size: LONGINT; udType: Types.OSType; index: LONGINT): Types.OSErr;
  1336.     (*$IF NOT GENERATINGCFM*)
  1337.     INLINE PASCAL $303C, $12E, $AAAA;
  1338.     (*$END*)
  1339. PROCEDURE AddUserDataText*(theUserData: UserData; data: Types.Handle; udType: Types.OSType; index: LONGINT; itlRegionTag: INTEGER): Types.OSErr;
  1340.     (*$IF NOT GENERATINGCFM*)
  1341.     INLINE PASCAL $303C, $14C, $AAAA;
  1342.     (*$END*)
  1343. PROCEDURE GetUserDataText*(theUserData: UserData; data: Types.Handle; udType: Types.OSType; index: LONGINT; itlRegionTag: INTEGER): Types.OSErr;
  1344.     (*$IF NOT GENERATINGCFM*)
  1345.     INLINE PASCAL $303C, $14D, $AAAA;
  1346.     (*$END*)
  1347. PROCEDURE RemoveUserDataText*(theUserData: UserData; udType: Types.OSType; index: LONGINT; itlRegionTag: INTEGER): Types.OSErr;
  1348.     (*$IF NOT GENERATINGCFM*)
  1349.     INLINE PASCAL $303C, $14E, $AAAA;
  1350.     (*$END*)
  1351. PROCEDURE NewUserData*(VAR theUserData: UserData): Types.OSErr;
  1352.     (*$IF NOT GENERATINGCFM*)
  1353.     INLINE PASCAL $303C, $12F, $AAAA;
  1354.     (*$END*)
  1355. PROCEDURE DisposeUserData*(theUserData: UserData): Types.OSErr;
  1356.     (*$IF NOT GENERATINGCFM*)
  1357.     INLINE PASCAL $303C, $130, $AAAA;
  1358.     (*$END*)
  1359. PROCEDURE NewUserDataFromHandle*(h: Types.Handle; VAR theUserData: UserData): Types.OSErr;
  1360.     (*$IF NOT GENERATINGCFM*)
  1361.     INLINE PASCAL $303C, $131, $AAAA;
  1362.     (*$END*)
  1363. PROCEDURE PutUserDataIntoHandle*(theUserData: UserData; h: Types.Handle): Types.OSErr;
  1364.     (*$IF NOT GENERATINGCFM*)
  1365.     INLINE PASCAL $303C, $132, $AAAA;
  1366.     (*$END*)
  1367. PROCEDURE GetMediaNextInterestingTime*(theMedia: Media; interestingTimeFlags: INTEGER; time: TimeValue; rate: Types.Fixed; VAR interestingTime: TimeValue; VAR interestingDuration: TimeValue);
  1368.     (*$IF NOT GENERATINGCFM*)
  1369.     INLINE PASCAL $303C, $16D, $AAAA;
  1370.     (*$END*)
  1371. PROCEDURE GetTrackNextInterestingTime*(theTrack: Track; interestingTimeFlags: INTEGER; time: TimeValue; rate: Types.Fixed; VAR interestingTime: TimeValue; VAR interestingDuration: TimeValue);
  1372.     (*$IF NOT GENERATINGCFM*)
  1373.     INLINE PASCAL $303C, $E2, $AAAA;
  1374.     (*$END*)
  1375. PROCEDURE GetMovieNextInterestingTime*(theMovie: Movie; interestingTimeFlags: INTEGER; numMediaTypes: INTEGER; (*CONST*)VAR whichMediaTypes: Types.OSType; time: TimeValue; rate: Types.Fixed; VAR interestingTime: TimeValue; VAR interestingDuration: TimeValue);
  1376.     (*$IF NOT GENERATINGCFM*)
  1377.     INLINE PASCAL $303C, $10E, $AAAA;
  1378.     (*$END*)
  1379. PROCEDURE CreateMovieFile*((*CONST*)VAR fileSpec: Files.FSSpec; creator: Types.OSType; scriptTag: Types.ScriptCode; createMovieFileFlags: LONGINT; VAR resRefNum: INTEGER; VAR newmovie: Movie): Types.OSErr;
  1380.     (*$IF NOT GENERATINGCFM*)
  1381.     INLINE PASCAL $303C, $191, $AAAA;
  1382.     (*$END*)
  1383. PROCEDURE OpenMovieFile*((*CONST*)VAR fileSpec: Files.FSSpec; VAR resRefNum: INTEGER; permission: Types.ByteParameter): Types.OSErr;
  1384.     (*$IF NOT GENERATINGCFM*)
  1385.     INLINE PASCAL $303C, $192, $AAAA;
  1386.     (*$END*)
  1387. PROCEDURE CloseMovieFile*(resRefNum: INTEGER): Types.OSErr;
  1388.     (*$IF NOT GENERATINGCFM*)
  1389.     INLINE PASCAL $303C, $D5, $AAAA;
  1390.     (*$END*)
  1391. PROCEDURE DeleteMovieFile*((*CONST*)VAR fileSpec: Files.FSSpec): Types.OSErr;
  1392.     (*$IF NOT GENERATINGCFM*)
  1393.     INLINE PASCAL $303C, $175, $AAAA;
  1394.     (*$END*)
  1395. PROCEDURE NewMovieFromFile*(VAR theMovie: Movie; resRefNum: INTEGER; VAR resId: INTEGER; resName: Types.StringPtr; newMovieFlags: INTEGER; VAR dataRefWasChanged: BOOLEAN): Types.OSErr;
  1396.     (*$IF NOT GENERATINGCFM*)
  1397.     INLINE PASCAL $303C, $F0, $AAAA;
  1398.     (*$END*)
  1399. PROCEDURE NewMovieFromHandle*(VAR theMovie: Movie; h: Types.Handle; newMovieFlags: INTEGER; VAR dataRefWasChanged: BOOLEAN): Types.OSErr;
  1400.     (*$IF NOT GENERATINGCFM*)
  1401.     INLINE PASCAL $303C, $F1, $AAAA;
  1402.     (*$END*)
  1403. PROCEDURE NewMovieFromDataFork*(VAR theMovie: Movie; fRefNum: INTEGER; fileOffset: LONGINT; newMovieFlags: INTEGER; VAR dataRefWasChanged: BOOLEAN): Types.OSErr;
  1404.     (*$IF NOT GENERATINGCFM*)
  1405.     INLINE PASCAL $303C, $1B3, $AAAA;
  1406.     (*$END*)
  1407. PROCEDURE NewMovieFromUserProc*(VAR m: Movie; flags: INTEGER; VAR dataRefWasChanged: BOOLEAN; getProc: GetMovieUPP; refCon: (*ΔΔUNIVΔΔ*) Types.Ptr; defaultDataRef: Types.Handle; dataRefType: Types.OSType): Types.OSErr;
  1408.     (*$IF NOT GENERATINGCFM*)
  1409.     INLINE PASCAL $303C, $1EC, $AAAA;
  1410.     (*$END*)
  1411. PROCEDURE AddMovieResource*(theMovie: Movie; resRefNum: INTEGER; VAR resId: INTEGER; resName: Types.ConstStr255Param): Types.OSErr;
  1412.     (*$IF NOT GENERATINGCFM*)
  1413.     INLINE PASCAL $303C, $D7, $AAAA;
  1414.     (*$END*)
  1415. PROCEDURE UpdateMovieResource*(theMovie: Movie; resRefNum: INTEGER; resId: INTEGER; resName: Types.ConstStr255Param): Types.OSErr;
  1416.     (*$IF NOT GENERATINGCFM*)
  1417.     INLINE PASCAL $303C, $D8, $AAAA;
  1418.     (*$END*)
  1419. PROCEDURE RemoveMovieResource*(resRefNum: INTEGER; resId: INTEGER): Types.OSErr;
  1420.     (*$IF NOT GENERATINGCFM*)
  1421.     INLINE PASCAL $303C, $176, $AAAA;
  1422.     (*$END*)
  1423. PROCEDURE HasMovieChanged*(theMovie: Movie): BOOLEAN;
  1424.     (*$IF NOT GENERATINGCFM*)
  1425.     INLINE PASCAL $303C, $D9, $AAAA;
  1426.     (*$END*)
  1427. PROCEDURE ClearMovieChanged*(theMovie: Movie);
  1428.     (*$IF NOT GENERATINGCFM*)
  1429.     INLINE PASCAL $303C, $113, $AAAA;
  1430.     (*$END*)
  1431. PROCEDURE SetMovieDefaultDataRef*(theMovie: Movie; dataRef: Types.Handle; dataRefType: Types.OSType): Types.OSErr;
  1432.     (*$IF NOT GENERATINGCFM*)
  1433.     INLINE PASCAL $303C, $1C1, $AAAA;
  1434.     (*$END*)
  1435. PROCEDURE GetMovieDefaultDataRef*(theMovie: Movie; VAR dataRef: Types.Handle; VAR dataRefType: Types.OSType): Types.OSErr;
  1436.     (*$IF NOT GENERATINGCFM*)
  1437.     INLINE PASCAL $303C, $1D2, $AAAA;
  1438.     (*$END*)
  1439. PROCEDURE SetMovieColorTable*(theMovie: Movie; ctab: Quickdraw.CTabHandle): Types.OSErr;
  1440.     (*$IF NOT GENERATINGCFM*)
  1441.     INLINE PASCAL $303C, $205, $AAAA;
  1442.     (*$END*)
  1443. PROCEDURE GetMovieColorTable*(theMovie: Movie; VAR ctab: Quickdraw.CTabHandle): Types.OSErr;
  1444.     (*$IF NOT GENERATINGCFM*)
  1445.     INLINE PASCAL $303C, $206, $AAAA;
  1446.     (*$END*)
  1447. PROCEDURE FlattenMovie*(theMovie: Movie; movieFlattenFlags: LONGINT; (*CONST*)VAR theFile: Files.FSSpec; creator: Types.OSType; scriptTag: Types.ScriptCode; createMovieFileFlags: LONGINT; VAR resId: INTEGER; resName: Types.ConstStr255Param);
  1448.     (*$IF NOT GENERATINGCFM*)
  1449.     INLINE PASCAL $303C, $19B, $AAAA;
  1450.     (*$END*)
  1451. PROCEDURE FlattenMovieData*(theMovie: Movie; movieFlattenFlags: LONGINT; (*CONST*)VAR theFile: Files.FSSpec; creator: Types.OSType; scriptTag: Types.ScriptCode; createMovieFileFlags: LONGINT): Movie;
  1452.     (*$IF NOT GENERATINGCFM*)
  1453.     INLINE PASCAL $303C, $19C, $AAAA;
  1454.     (*$END*)
  1455. PROCEDURE SetMovieProgressProc*(theMovie: Movie; p: MovieProgressUPP; refcon: LONGINT);
  1456.     (*$IF NOT GENERATINGCFM*)
  1457.     INLINE PASCAL $303C, $19A, $AAAA;
  1458.     (*$END*)
  1459. (*************************
  1460. * Video Media routines
  1461. **************************)
  1462. PROCEDURE GetVideoMediaGraphicsMode*(mh: MediaHandler; VAR graphicsMode: LONGINT; VAR opColor: Quickdraw.RGBColor): HandlerError;
  1463.     (*$IF NOT GENERATINGCFM*)
  1464.     INLINE PASCAL $2F3C, $8, $101, $7000, $A82A;
  1465.     (*$END*)
  1466. PROCEDURE SetVideoMediaGraphicsMode*(mh: MediaHandler; graphicsMode: LONGINT; (*CONST*)VAR opColor: Quickdraw.RGBColor): HandlerError;
  1467.     (*$IF NOT GENERATINGCFM*)
  1468.     INLINE PASCAL $2F3C, $8, $102, $7000, $A82A;
  1469.     (*$END*)
  1470. (*************************
  1471. * Sound Media routines
  1472. **************************)
  1473. PROCEDURE GetSoundMediaBalance*(mh: MediaHandler; VAR balance: INTEGER): HandlerError;
  1474.     (*$IF NOT GENERATINGCFM*)
  1475.     INLINE PASCAL $2F3C, $4, $101, $7000, $A82A;
  1476.     (*$END*)
  1477. PROCEDURE SetSoundMediaBalance*(mh: MediaHandler; balance: INTEGER): HandlerError;
  1478.     (*$IF NOT GENERATINGCFM*)
  1479.     INLINE PASCAL $2F3C, $2, $102, $7000, $A82A;
  1480.     (*$END*)
  1481. (*************************
  1482. * Text Media routines
  1483. **************************)
  1484. (* Return displayFlags for TextProc *)
  1485.  
  1486. CONST
  1487.     txtProcDefaultDisplay*        = 0;                            (*    Use the media's default*)
  1488.     txtProcDontDisplay*            = 1;                            (*    Don't display the text*)
  1489.     txtProcDoDisplay*            = 2;                            (*    Do display the text*)
  1490.  
  1491.  
  1492. PROCEDURE SetTextProc*(mh: MediaHandler; TextProc: TextMediaUPP; refcon: LONGINT): Components.ComponentResult;
  1493.     (*$IF NOT GENERATINGCFM*)
  1494.     INLINE PASCAL $2F3C, $8, $101, $7000, $A82A;
  1495.     (*$END*)
  1496. PROCEDURE AddTextSample*(mh: MediaHandler; text: Types.Ptr; size: LONGINT; fontNumber: INTEGER; fontSize: INTEGER; textFace: Types.Style; VAR textColor: Quickdraw.RGBColor; VAR backColor: Quickdraw.RGBColor; textJustification: INTEGER; VAR textBox: Types.Rect; displayFlags: LONGINT; scrollDelay: TimeValue; hiliteStart: INTEGER; hiliteEnd: INTEGER; VAR rgbHiliteColor: Quickdraw.RGBColor; duration: TimeValue; VAR sampleTime: TimeValue): Components.ComponentResult;
  1497.     (*$IF NOT GENERATINGCFM*)
  1498.     INLINE PASCAL $2F3C, $34, $102, $7000, $A82A;
  1499.     (*$END*)
  1500. PROCEDURE AddTESample*(mh: MediaHandler; hTE: TextEdit.TEHandle; VAR backColor: Quickdraw.RGBColor; textJustification: INTEGER; VAR textBox: Types.Rect; displayFlags: LONGINT; scrollDelay: TimeValue; hiliteStart: INTEGER; hiliteEnd: INTEGER; VAR rgbHiliteColor: Quickdraw.RGBColor; duration: TimeValue; VAR sampleTime: TimeValue): Components.ComponentResult;
  1501.     (*$IF NOT GENERATINGCFM*)
  1502.     INLINE PASCAL $2F3C, $26, $103, $7000, $A82A;
  1503.     (*$END*)
  1504. PROCEDURE AddHiliteSample*(mh: MediaHandler; hiliteStart: INTEGER; hiliteEnd: INTEGER; VAR rgbHiliteColor: Quickdraw.RGBColor; duration: TimeValue; VAR sampleTime: TimeValue): Components.ComponentResult;
  1505.     (*$IF NOT GENERATINGCFM*)
  1506.     INLINE PASCAL $2F3C, $10, $104, $7000, $A82A;
  1507.     (*$END*)
  1508.  
  1509. CONST
  1510.     findTextEdgeOK*                = ASH(1,0);                    (* Okay to find text at specified sample time*)
  1511.     findTextCaseSensitive*        = ASH(1,1);                    (* Case sensitive search*)
  1512.     findTextReverseSearch*        = ASH(1,2);                    (* Search from sampleTime backwards*)
  1513.     findTextWrapAround*            = ASH(1,3);                    (* Wrap search when beginning or end of movie is hit*)
  1514.     findTextUseOffset*            = ASH(1,4);                    (* Begin search at the given character offset into sample rather than edge*)
  1515.  
  1516.  
  1517. PROCEDURE FindNextText*(mh: MediaHandler; text: Types.Ptr; size: LONGINT; findFlags: INTEGER; startTime: TimeValue; VAR foundTime: TimeValue; VAR foundDuration: TimeValue; VAR offset: LONGINT): Components.ComponentResult;
  1518.     (*$IF NOT GENERATINGCFM*)
  1519.     INLINE PASCAL $2F3C, $1A, $105, $7000, $A82A;
  1520.     (*$END*)
  1521. PROCEDURE HiliteTextSample*(mh: MediaHandler; sampleTime: TimeValue; hiliteStart: INTEGER; hiliteEnd: INTEGER; VAR rgbHiliteColor: Quickdraw.RGBColor): Components.ComponentResult;
  1522.     (*$IF NOT GENERATINGCFM*)
  1523.     INLINE PASCAL $2F3C, $C, $106, $7000, $A82A;
  1524.     (*$END*)
  1525.  
  1526. CONST
  1527.     dropShadowOffsetType*        = LONG("drpo");
  1528.     dropShadowTranslucencyType*    = LONG("drpt");
  1529.  
  1530.  
  1531. PROCEDURE SetTextSampleData*(mh: MediaHandler; data: (*ΔΔUNIVΔΔ*) Types.Ptr; dataType: Types.OSType): Components.ComponentResult;
  1532.     (*$IF NOT GENERATINGCFM*)
  1533.     INLINE PASCAL $2F3C, $8, $107, $7000, $A82A;
  1534.     (*$END*)
  1535. PROCEDURE MovieSearchText*(theMovie: Movie; text: Types.Ptr; size: LONGINT; searchFlags: LONGINT; VAR searchTrack: Track; VAR searchTime: TimeValue; VAR searchOffset: LONGINT): Types.OSErr;
  1536.     (*$IF NOT GENERATINGCFM*)
  1537.     INLINE PASCAL $303C, $207, $AAAA;
  1538.     (*$END*)
  1539. PROCEDURE GetPosterBox*(theMovie: Movie; VAR boxRect: Types.Rect);
  1540.     (*$IF NOT GENERATINGCFM*)
  1541.     INLINE PASCAL $303C, $16F, $AAAA;
  1542.     (*$END*)
  1543. PROCEDURE SetPosterBox*(theMovie: Movie; (*CONST*)VAR boxRect: Types.Rect);
  1544.     (*$IF NOT GENERATINGCFM*)
  1545.     INLINE PASCAL $303C, $170, $AAAA;
  1546.     (*$END*)
  1547. PROCEDURE GetMovieSegmentDisplayBoundsRgn*(theMovie: Movie; time: TimeValue; duration: TimeValue): Quickdraw.RgnHandle;
  1548.     (*$IF NOT GENERATINGCFM*)
  1549.     INLINE PASCAL $303C, $16C, $AAAA;
  1550.     (*$END*)
  1551. PROCEDURE GetTrackSegmentDisplayBoundsRgn*(theTrack: Track; time: TimeValue; duration: TimeValue): Quickdraw.RgnHandle;
  1552.     (*$IF NOT GENERATINGCFM*)
  1553.     INLINE PASCAL $303C, $16B, $AAAA;
  1554.     (*$END*)
  1555. PROCEDURE SetMovieCoverProcs*(theMovie: Movie; uncoverProc: MovieRgnCoverUPP; coverProc: MovieRgnCoverUPP; refcon: LONGINT);
  1556.     (*$IF NOT GENERATINGCFM*)
  1557.     INLINE PASCAL $303C, $179, $AAAA;
  1558.     (*$END*)
  1559. PROCEDURE GetMovieCoverProcs*(theMovie: Movie; VAR uncoverProc: MovieRgnCoverUPP; VAR coverProc: MovieRgnCoverUPP; VAR refcon: LONGINT): Types.OSErr;
  1560.     (*$IF NOT GENERATINGCFM*)
  1561.     INLINE PASCAL $303C, $1DD, $AAAA;
  1562.     (*$END*)
  1563. PROCEDURE GetTrackStatus*(theTrack: Track): Components.ComponentResult;
  1564.     (*$IF NOT GENERATINGCFM*)
  1565.     INLINE PASCAL $303C, $172, $AAAA;
  1566.     (*$END*)
  1567. PROCEDURE GetMovieStatus*(theMovie: Movie; VAR firstProblemTrack: Track): Components.ComponentResult;
  1568.     (*$IF NOT GENERATINGCFM*)
  1569.     INLINE PASCAL $303C, $173, $AAAA;
  1570.     (*$END*)
  1571. (****
  1572.     Movie Controller support routines
  1573. ****)
  1574. PROCEDURE NewMovieController*(theMovie: Movie; (*CONST*)VAR movieRect: Types.Rect; someFlags: LONGINT): Components.ComponentInstance;
  1575.     (*$IF NOT GENERATINGCFM*)
  1576.     INLINE PASCAL $303C, $18A, $AAAA;
  1577.     (*$END*)
  1578. PROCEDURE DisposeMovieController*(mc: Components.ComponentInstance);
  1579.     (*$IF NOT GENERATINGCFM*)
  1580.     INLINE PASCAL $303C, $18B, $AAAA;
  1581.     (*$END*)
  1582. PROCEDURE ShowMovieInformation*(theMovie: Movie; filterProc: Dialogs.ModalFilterUPP; refCon: LONGINT);
  1583.     (*$IF NOT GENERATINGCFM*)
  1584.     INLINE PASCAL $303C, $209, $AAAA;
  1585.     (*$END*)
  1586. (*****
  1587.     Scrap routines
  1588. *****)
  1589. PROCEDURE PutMovieOnScrap*(theMovie: Movie; movieScrapFlags: LONGINT): Types.OSErr;
  1590.     (*$IF NOT GENERATINGCFM*)
  1591.     INLINE PASCAL $303C, $18C, $AAAA;
  1592.     (*$END*)
  1593. PROCEDURE NewMovieFromScrap*(newMovieFlags: LONGINT): Movie;
  1594.     (*$IF NOT GENERATINGCFM*)
  1595.     INLINE PASCAL $303C, $18D, $AAAA;
  1596.     (*$END*)
  1597. (*****
  1598.     DataRef routines
  1599. *****)
  1600. PROCEDURE GetMediaDataRef*(theMedia: Media; index: INTEGER; VAR dataRef: Types.Handle; VAR dataRefType: Types.OSType; VAR dataRefAttributes: LONGINT): Types.OSErr;
  1601.     (*$IF NOT GENERATINGCFM*)
  1602.     INLINE PASCAL $303C, $197, $AAAA;
  1603.     (*$END*)
  1604. PROCEDURE SetMediaDataRef*(theMedia: Media; index: INTEGER; dataRef: Types.Handle; dataRefType: Types.OSType): Types.OSErr;
  1605.     (*$IF NOT GENERATINGCFM*)
  1606.     INLINE PASCAL $303C, $1C9, $AAAA;
  1607.     (*$END*)
  1608. PROCEDURE SetMediaDataRefAttributes*(theMedia: Media; index: INTEGER; dataRefAttributes: LONGINT): Types.OSErr;
  1609.     (*$IF NOT GENERATINGCFM*)
  1610.     INLINE PASCAL $303C, $1CA, $AAAA;
  1611.     (*$END*)
  1612. PROCEDURE AddMediaDataRef*(theMedia: Media; VAR index: INTEGER; dataRef: Types.Handle; dataRefType: Types.OSType): Types.OSErr;
  1613.     (*$IF NOT GENERATINGCFM*)
  1614.     INLINE PASCAL $303C, $198, $AAAA;
  1615.     (*$END*)
  1616. PROCEDURE GetMediaDataRefCount*(theMedia: Media; VAR count: INTEGER): Types.OSErr;
  1617.     (*$IF NOT GENERATINGCFM*)
  1618.     INLINE PASCAL $303C, $199, $AAAA;
  1619.     (*$END*)
  1620. (*****
  1621.     Playback hint routines
  1622. *****)
  1623. PROCEDURE SetMoviePlayHints*(theMovie: Movie; flags: LONGINT; flagsMask: LONGINT);
  1624.     (*$IF NOT GENERATINGCFM*)
  1625.     INLINE PASCAL $303C, $1A1, $AAAA;
  1626.     (*$END*)
  1627. PROCEDURE SetMediaPlayHints*(theMedia: Media; flags: LONGINT; flagsMask: LONGINT);
  1628.     (*$IF NOT GENERATINGCFM*)
  1629.     INLINE PASCAL $303C, $1A2, $AAAA;
  1630.     (*$END*)
  1631. (*****
  1632.     Load time track hints
  1633. *****)
  1634.  
  1635. CONST
  1636.     preloadAlways*                = ASH(1,0);
  1637.     preloadOnlyIfEnabled*        = ASH(1,1);
  1638.  
  1639.  
  1640. PROCEDURE SetTrackLoadSettings*(theTrack: Track; preloadTime: TimeValue; preloadDuration: TimeValue; preloadFlags: LONGINT; defaultHints: LONGINT);
  1641.     (*$IF NOT GENERATINGCFM*)
  1642.     INLINE PASCAL $303C, $1E3, $AAAA;
  1643.     (*$END*)
  1644. PROCEDURE GetTrackLoadSettings*(theTrack: Track; VAR preloadTime: TimeValue; VAR preloadDuration: TimeValue; VAR preloadFlags: LONGINT; VAR defaultHints: LONGINT);
  1645.     (*$IF NOT GENERATINGCFM*)
  1646.     INLINE PASCAL $303C, $1E4, $AAAA;
  1647.     (*$END*)
  1648.  
  1649. CONST
  1650.     MovieControllerComponentType* = LONG("play");
  1651.  
  1652.     
  1653. TYPE
  1654.     MovieController* = Components.ComponentInstance;
  1655.  
  1656.  
  1657. CONST
  1658.     mcActionIdle*                = 1;                            (* no param*)
  1659.     mcActionDraw*                = 2;                            (* param is WindowPtr*)
  1660.     mcActionActivate*            = 3;                            (* no param*)
  1661.     mcActionDeactivate*            = 4;                            (* no param*)
  1662.     mcActionMouseDown*            = 5;                            (* param is pointer to EventRecord*)
  1663.     mcActionKey*                    = 6;                            (* param is pointer to Events.EventRecord*)
  1664.     mcActionPlay*                = 8;                            (* param is Types.Fixed, play rate*)
  1665.     mcActionGoToTime*            = 12;                            (* param is TimeRecord*)
  1666.     mcActionSetVolume*            = 14;                            (* param is a short*)
  1667.     mcActionGetVolume*            = 15;                            (* param is pointer to a short*)
  1668.     mcActionStep*                = 18;                            (* param is number of steps (short)*)
  1669.     mcActionSetLooping*            = 21;                            (* param is Boolean*)
  1670.     mcActionGetLooping*            = 22;                            (* param is pointer to a Boolean*)
  1671.     mcActionSetLoopIsPalindrome*    = 23;                            (* param is Boolean*)
  1672.     mcActionGetLoopIsPalindrome*    = 24;                            (* param is pointer to a Boolean*)
  1673.     mcActionSetGrowBoxBounds*    = 25;                            (* param is a Types.Rect*)
  1674.     mcActionControllerSizeChanged* = 26;                            (* no param*)
  1675.     mcActionSetSelectionBegin*    = 29;                            (* param is TimeRecord*)
  1676.     mcActionSetSelectionDuration* = 30;                            (* param is TimeRecord, action only taken on set-duration*)
  1677.     mcActionSetKeysEnabled*        = 32;                            (* param is Boolean*)
  1678.     mcActionGetKeysEnabled*        = 33;                            (* param is pointer to Boolean*)
  1679.     mcActionSetPlaySelection*    = 34;                            (* param is Boolean*)
  1680.     mcActionGetPlaySelection*    = 35;                            (* param is pointer to Boolean*)
  1681.     mcActionSetUseBadge*            = 36;                            (* param is Boolean*)
  1682.     mcActionGetUseBadge*            = 37;                            (* param is pointer to Boolean*)
  1683.     mcActionSetFlags*            = 38;                            (* param is long of flags*)
  1684.     mcActionGetFlags*            = 39;                            (* param is pointer to a long of flags*)
  1685.     mcActionSetPlayEveryFrame*    = 40;                            (* param is Boolean*)
  1686.     mcActionGetPlayEveryFrame*    = 41;                            (* param is pointer to Boolean*)
  1687.     mcActionGetPlayRate*            = 42;                            (* param is pointer to Types.Fixed*)
  1688.     mcActionShowBalloon*            = 43;                            (* param is a pointer to a boolean. set to false to stop balloon*)
  1689.     mcActionBadgeClick*            = 44;                            (* param is pointer to Boolean. set to false to ignore click*)
  1690.     mcActionMovieClick*            = 45;                            (* param is pointer to event record. change “what” to nullEvt to kill click*)
  1691.     mcActionSuspend*                = 46;                            (* no param*)
  1692.     mcActionResume*                = 47;                            (* no param*)
  1693.     mcActionSetControllerKeysEnabled* = 48;                        (* param is Boolean*)
  1694.     mcActionGetTimeSliderRect*    = 49;                            (* param is pointer to rect*)
  1695.     mcActionMovieEdited*            = 50;                            (* no param*)
  1696.     mcActionGetDragEnabled*        = 51;                            (* param is pointer to Boolean*)
  1697.     mcActionSetDragEnabled*        = 52;                            (* param is Boolean*)
  1698.  
  1699.     
  1700. TYPE
  1701.     mcAction* = INTEGER;
  1702.  
  1703.  
  1704. CONST
  1705.     mcFlagSuppressMovieFrame*    = ASH(1,0);
  1706.     mcFlagSuppressStepButtons*    = ASH(1,1);
  1707.     mcFlagSuppressSpeakerButton*    = ASH(1,2);
  1708.     mcFlagsUseWindowPalette*        = ASH(1,3);
  1709.     mcFlagsDontInvalidate*        = ASH(1,4);
  1710.  
  1711.     mcPositionDontInvalidate*    = ASH(1,5);
  1712.  
  1713.     
  1714. TYPE
  1715.     mcFlags* = LONGINT;
  1716.  
  1717.     MCActionFilterProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (mc: MovieController; VAR action: INTEGER; params: (*ΔΔUNIVΔΔ*) Types.Ptr): BOOLEAN;
  1718.     MCActionFilterWithRefConProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (mc: MovieController; action: INTEGER; params: (*ΔΔUNIVΔΔ*) Types.Ptr; refCon: LONGINT): BOOLEAN;
  1719.     MCActionFilterUPP* = Types.UniversalProcPtr;
  1720.     MCActionFilterWithRefConUPP* = Types.UniversalProcPtr;
  1721.  
  1722.  
  1723. CONST
  1724.     mcInfoUndoAvailable*            = ASH(1,0);
  1725.     mcInfoCutAvailable*            = ASH(1,1);
  1726.     mcInfoCopyAvailable*            = ASH(1,2);
  1727.     mcInfoPasteAvailable*        = ASH(1,3);
  1728.     mcInfoClearAvailable*        = ASH(1,4);
  1729.     mcInfoHasSound*                = ASH(1,5);
  1730.     mcInfoIsPlaying*                = ASH(1,6);
  1731.     mcInfoIsLooping*                = ASH(1,7);
  1732.     mcInfoIsInPalindrome*        = ASH(1,8);
  1733.     mcInfoEditingEnabled*        = ASH(1,9);
  1734.  
  1735. (* menu item codes*)
  1736.     mcMenuUndo*                    = 1;
  1737.     mcMenuCut*                    = 3;
  1738.     mcMenuCopy*                    = 4;
  1739.     mcMenuPaste*                    = 5;
  1740.     mcMenuClear*                    = 6;
  1741.  
  1742. (* target management *)
  1743.  
  1744. PROCEDURE MCSetMovie*(mc: MovieController; theMovie: Movie; movieWindow: Quickdraw.WindowPtr; where: Types.Point): Components.ComponentResult;
  1745.     (*$IF NOT GENERATINGCFM*)
  1746.     INLINE PASCAL $2F3C, $C, $2, $7000, $A82A;
  1747.     (*$END*)
  1748. PROCEDURE MCGetIndMovie*(mc: MovieController; index: INTEGER): Movie;
  1749.     (*$IF NOT GENERATINGCFM*)
  1750.     INLINE PASCAL $2F3C, $2, $5, $7000, $A82A;
  1751.     (*$END*)
  1752. PROCEDURE MCRemoveMovie*(mc: MovieController): Components.ComponentResult;
  1753.     (*$IF NOT GENERATINGCFM*)
  1754.     INLINE PASCAL $2F3C, 0, $6, $7000, $A82A;
  1755.     (*$END*)
  1756. (* event handling etc. *)
  1757. PROCEDURE MCIsPlayerEvent*(mc: MovieController; (*CONST*)VAR e: Events.EventRecord): Components.ComponentResult;
  1758.     (*$IF NOT GENERATINGCFM*)
  1759.     INLINE PASCAL $2F3C, $4, $7, $7000, $A82A;
  1760.     (*$END*)
  1761. (* obsolete. use MCSetActionFilterWithRefCon instead. *)
  1762. PROCEDURE MCSetActionFilter*(mc: MovieController; blob: MCActionFilterUPP): Components.ComponentResult;
  1763.     (*$IF NOT GENERATINGCFM*)
  1764.     INLINE PASCAL $2F3C, $4, $8, $7000, $A82A;
  1765.     (*$END*)
  1766. (*
  1767.     proc is of the form:
  1768.         Boolean userPlayerFilter(MovieController mc, short *action, void *params) =
  1769.     proc returns TRUE if it handles the action, FALSE if not
  1770.     action is passed as a VAR so that it could be changed by filter (ick)
  1771.     this is consistent with the current dialog manager stuff
  1772.     params is any potential parameters that go with the action <triple ick> 
  1773.         such as set playback rate to xxx.
  1774. *)
  1775. PROCEDURE MCDoAction*(mc: MovieController; action: INTEGER; params: (*ΔΔUNIVΔΔ*) Types.Ptr): Components.ComponentResult;
  1776.     (*$IF NOT GENERATINGCFM*)
  1777.     INLINE PASCAL $2F3C, $6, $9, $7000, $A82A;
  1778.     (*$END*)
  1779. (* state type things *)
  1780. PROCEDURE MCSetControllerAttached*(mc: MovieController; attach: BOOLEAN): Components.ComponentResult;
  1781.     (*$IF NOT GENERATINGCFM*)
  1782.     INLINE PASCAL $2F3C, $2, $A, $7000, $A82A;
  1783.     (*$END*)
  1784. PROCEDURE MCIsControllerAttached*(mc: MovieController): Components.ComponentResult;
  1785.     (*$IF NOT GENERATINGCFM*)
  1786.     INLINE PASCAL $2F3C, 0, $B, $7000, $A82A;
  1787.     (*$END*)
  1788. PROCEDURE MCSetControllerPort*(mc: MovieController; gp: Quickdraw.CGrafPtr): Components.ComponentResult;
  1789.     (*$IF NOT GENERATINGCFM*)
  1790.     INLINE PASCAL $2F3C, $4, $C, $7000, $A82A;
  1791.     (*$END*)
  1792. PROCEDURE MCGetControllerPort*(mc: MovieController): Quickdraw.CGrafPtr;
  1793.     (*$IF NOT GENERATINGCFM*)
  1794.     INLINE PASCAL $2F3C, 0, $D, $7000, $A82A;
  1795.     (*$END*)
  1796. PROCEDURE MCSetVisible*(mc: MovieController; visible: BOOLEAN): Components.ComponentResult;
  1797.     (*$IF NOT GENERATINGCFM*)
  1798.     INLINE PASCAL $2F3C, $2, $E, $7000, $A82A;
  1799.     (*$END*)
  1800. PROCEDURE MCGetVisible*(mc: MovieController): Components.ComponentResult;
  1801.     (*$IF NOT GENERATINGCFM*)
  1802.     INLINE PASCAL $2F3C, 0, $F, $7000, $A82A;
  1803.     (*$END*)
  1804. PROCEDURE MCGetControllerBoundsRect*(mc: MovieController; VAR bounds: Types.Rect): Components.ComponentResult;
  1805.     (*$IF NOT GENERATINGCFM*)
  1806.     INLINE PASCAL $2F3C, $4, $10, $7000, $A82A;
  1807.     (*$END*)
  1808. PROCEDURE MCSetControllerBoundsRect*(mc: MovieController; (*CONST*)VAR bounds: Types.Rect): Components.ComponentResult;
  1809.     (*$IF NOT GENERATINGCFM*)
  1810.     INLINE PASCAL $2F3C, $4, $11, $7000, $A82A;
  1811.     (*$END*)
  1812. PROCEDURE MCGetControllerBoundsRgn*(mc: MovieController): Quickdraw.RgnHandle;
  1813.     (*$IF NOT GENERATINGCFM*)
  1814.     INLINE PASCAL $2F3C, 0, $12, $7000, $A82A;
  1815.     (*$END*)
  1816. PROCEDURE MCGetWindowRgn*(mc: MovieController; w: Quickdraw.WindowPtr): Quickdraw.RgnHandle;
  1817.     (*$IF NOT GENERATINGCFM*)
  1818.     INLINE PASCAL $2F3C, $4, $13, $7000, $A82A;
  1819.     (*$END*)
  1820. (* other stuff *)
  1821. PROCEDURE MCMovieChanged*(mc: MovieController; m: Movie): Components.ComponentResult;
  1822.     (*$IF NOT GENERATINGCFM*)
  1823.     INLINE PASCAL $2F3C, $4, $14, $7000, $A82A;
  1824.     (*$END*)
  1825. (*
  1826.     called when the app has changed thing about the movie (like bounding rect) or rate. So that we
  1827.         can update our graphical (and internal) state accordingly.
  1828. *)
  1829. PROCEDURE MCSetDuration*(mc: MovieController; duration: TimeValue): Components.ComponentResult;
  1830.     (*$IF NOT GENERATINGCFM*)
  1831.     INLINE PASCAL $2F3C, $4, $15, $7000, $A82A;
  1832.     (*$END*)
  1833. (*
  1834.     duration to use for time slider -- will be reset next time MCMovieChanged is called
  1835.         or MCSetMovie is called
  1836. *)
  1837. PROCEDURE MCGetCurrentTime*(mc: MovieController; VAR scale: TimeScale): TimeValue;
  1838.     (*$IF NOT GENERATINGCFM*)
  1839.     INLINE PASCAL $2F3C, $4, $16, $7000, $A82A;
  1840.     (*$END*)
  1841. (*
  1842.     returns the time value and the time scale it is on. if there are no movies, the
  1843.         time scale is passed back as 0. scale is an optional parameter
  1844.  
  1845. *)
  1846. PROCEDURE MCNewAttachedController*(mc: MovieController; theMovie: Movie; w: Quickdraw.WindowPtr; where: Types.Point): Components.ComponentResult;
  1847.     (*$IF NOT GENERATINGCFM*)
  1848.     INLINE PASCAL $2F3C, $C, $17, $7000, $A82A;
  1849.     (*$END*)
  1850. (*
  1851.     makes m the only movie attached to the controller. makes the controller visible.
  1852.     the window and where parameters are passed a long to MCSetMovie and behave as
  1853.     described there
  1854. *)
  1855. PROCEDURE MCDraw*(mc: MovieController; w: Quickdraw.WindowPtr): Components.ComponentResult;
  1856.     (*$IF NOT GENERATINGCFM*)
  1857.     INLINE PASCAL $2F3C, $4, $18, $7000, $A82A;
  1858.     (*$END*)
  1859. PROCEDURE MCActivate*(mc: MovieController; w: Quickdraw.WindowPtr; activate: BOOLEAN): Components.ComponentResult;
  1860.     (*$IF NOT GENERATINGCFM*)
  1861.     INLINE PASCAL $2F3C, $6, $19, $7000, $A82A;
  1862.     (*$END*)
  1863. PROCEDURE MCIdle*(mc: MovieController): Components.ComponentResult;
  1864.     (*$IF NOT GENERATINGCFM*)
  1865.     INLINE PASCAL $2F3C, 0, $1A, $7000, $A82A;
  1866.     (*$END*)
  1867. PROCEDURE MCKey*(mc: MovieController; key: Types.ByteParameter; modifiers: LONGINT): Components.ComponentResult;
  1868.     (*$IF NOT GENERATINGCFM*)
  1869.     INLINE PASCAL $2F3C, $6, $1B, $7000, $A82A;
  1870.     (*$END*)
  1871. PROCEDURE MCClick*(mc: MovieController; w: Quickdraw.WindowPtr; where: Types.Point; when: LONGINT; modifiers: LONGINT): Components.ComponentResult;
  1872.     (*$IF NOT GENERATINGCFM*)
  1873.     INLINE PASCAL $2F3C, $10, $1C, $7000, $A82A;
  1874.     (*$END*)
  1875. (*
  1876.     calls for editing
  1877. *)
  1878. PROCEDURE MCEnableEditing*(mc: MovieController; enabled: BOOLEAN): Components.ComponentResult;
  1879.     (*$IF NOT GENERATINGCFM*)
  1880.     INLINE PASCAL $2F3C, $2, $1D, $7000, $A82A;
  1881.     (*$END*)
  1882. PROCEDURE MCIsEditingEnabled*(mc: MovieController): LONGINT;
  1883.     (*$IF NOT GENERATINGCFM*)
  1884.     INLINE PASCAL $2F3C, 0, $1E, $7000, $A82A;
  1885.     (*$END*)
  1886. PROCEDURE MCCopy*(mc: MovieController): Movie;
  1887.     (*$IF NOT GENERATINGCFM*)
  1888.     INLINE PASCAL $2F3C, 0, $1F, $7000, $A82A;
  1889.     (*$END*)
  1890. PROCEDURE MCCut*(mc: MovieController): Movie;
  1891.     (*$IF NOT GENERATINGCFM*)
  1892.     INLINE PASCAL $2F3C, 0, $20, $7000, $A82A;
  1893.     (*$END*)
  1894. PROCEDURE MCPaste*(mc: MovieController; srcMovie: Movie): Components.ComponentResult;
  1895.     (*$IF NOT GENERATINGCFM*)
  1896.     INLINE PASCAL $2F3C, $4, $21, $7000, $A82A;
  1897.     (*$END*)
  1898. PROCEDURE MCClear*(mc: MovieController): Components.ComponentResult;
  1899.     (*$IF NOT GENERATINGCFM*)
  1900.     INLINE PASCAL $2F3C, 0, $22, $7000, $A82A;
  1901.     (*$END*)
  1902. PROCEDURE MCUndo*(mc: MovieController): Components.ComponentResult;
  1903.     (*$IF NOT GENERATINGCFM*)
  1904.     INLINE PASCAL $2F3C, 0, $23, $7000, $A82A;
  1905.     (*$END*)
  1906. (*
  1907.  *    somewhat special stuff
  1908.  *)
  1909. PROCEDURE MCPositionController*(mc: MovieController; (*CONST*)VAR movieRect: Types.Rect; (*CONST*)VAR controllerRect: Types.Rect; someFlags: LONGINT): Components.ComponentResult;
  1910.     (*$IF NOT GENERATINGCFM*)
  1911.     INLINE PASCAL $2F3C, $C, $24, $7000, $A82A;
  1912.     (*$END*)
  1913. PROCEDURE MCGetControllerInfo*(mc: MovieController; VAR someFlags: LONGINT): Components.ComponentResult;
  1914.     (*$IF NOT GENERATINGCFM*)
  1915.     INLINE PASCAL $2F3C, $4, $25, $7000, $A82A;
  1916.     (*$END*)
  1917. PROCEDURE MCSetClip*(mc: MovieController; theClip: Quickdraw.RgnHandle; movieClip: Quickdraw.RgnHandle): Components.ComponentResult;
  1918.     (*$IF NOT GENERATINGCFM*)
  1919.     INLINE PASCAL $2F3C, $8, $28, $7000, $A82A;
  1920.     (*$END*)
  1921. PROCEDURE MCGetClip*(mc: MovieController; VAR theClip: Quickdraw.RgnHandle; VAR movieClip: Quickdraw.RgnHandle): Components.ComponentResult;
  1922.     (*$IF NOT GENERATINGCFM*)
  1923.     INLINE PASCAL $2F3C, $8, $29, $7000, $A82A;
  1924.     (*$END*)
  1925. PROCEDURE MCDrawBadge*(mc: MovieController; movieRgn: Quickdraw.RgnHandle; VAR badgeRgn: Quickdraw.RgnHandle): Components.ComponentResult;
  1926.     (*$IF NOT GENERATINGCFM*)
  1927.     INLINE PASCAL $2F3C, $8, $2A, $7000, $A82A;
  1928.     (*$END*)
  1929. PROCEDURE MCSetUpEditMenu*(mc: MovieController; modifiers: LONGINT; mh: Menus.MenuHandle): Components.ComponentResult;
  1930.     (*$IF NOT GENERATINGCFM*)
  1931.     INLINE PASCAL $2F3C, $8, $2B, $7000, $A82A;
  1932.     (*$END*)
  1933. PROCEDURE MCGetMenuString*(mc: MovieController; modifiers: LONGINT; item: INTEGER; VAR aString: Types.Str255): Components.ComponentResult;
  1934.     (*$IF NOT GENERATINGCFM*)
  1935.     INLINE PASCAL $2F3C, $A, $2C, $7000, $A82A;
  1936.     (*$END*)
  1937. PROCEDURE MCSetActionFilterWithRefCon*(mc: MovieController; blob: MCActionFilterWithRefConUPP; refCon: LONGINT): Components.ComponentResult;
  1938.     (*$IF NOT GENERATINGCFM*)
  1939.     INLINE PASCAL $2F3C, $8, $2D, $7000, $A82A;
  1940.     (*$END*)
  1941.  
  1942. CONST
  1943.     kMCSetMovieSelect*            = $2;
  1944.     kMCGetIndMovieSelect*        = $5;
  1945.     kMCRemoveMovieSelect*        = $6;
  1946.     kMCIsPlayerEventSelect*        = $7;
  1947.     kMCSetActionFilterSelect*    = $8;
  1948.     kMCDoActionSelect*            = $9;
  1949.     kMCSetControllerAttachedSelect* = $A;
  1950.     kMCIsControllerAttachedSelect* = $B;
  1951.     kMCSetControllerPortSelect*    = $C;
  1952.     kMCGetControllerPortSelect*    = $D;
  1953.     kMCSetVisibleSelect*            = $E;
  1954.     kMCGetVisibleSelect*            = $F;
  1955.     kMCGetControllerBoundsRectSelect* = $10;
  1956.     kMCSetControllerBoundsRectSelect* = $11;
  1957.     kMCGetControllerBoundsRgnSelect* = $12;
  1958.     kMCGetWindowRgnSelect*        = $13;
  1959.     kMCMovieChangedSelect*        = $14;
  1960.     kMCSetDurationSelect*        = $15;
  1961.     kMCGetCurrentTimeSelect*        = $16;
  1962.     kMCNewAttachedControllerSelect* = $17;
  1963.     kMCDrawSelect*                = $18;
  1964.     kMCActivateSelect*            = $19;
  1965.     kMCIdleSelect*                = $1A;
  1966.     kMCKeySelect*                = $1B;
  1967.     kMCClickSelect*                = $1C;
  1968.     kMCEnableEditingSelect*        = $1D;
  1969.     kMCIsEditingEnabledSelect*    = $1E;
  1970.     kMCCopySelect*                = $1F;
  1971.     kMCCutSelect*                = $20;
  1972.     kMCPasteSelect*                = $21;
  1973.     kMCClearSelect*                = $22;
  1974.     kMCUndoSelect*                = $23;
  1975.     kMCPositionControllerSelect*    = $24;
  1976.     kMCGetControllerInfoSelect*    = $25;
  1977.     kMCSetClipSelect*            = $28;
  1978.     kMCGetClipSelect*            = $29;
  1979.     kMCDrawBadgeSelect*            = $2A;
  1980.     kMCSetUpEditMenuSelect*        = $2B;
  1981.     kMCGetMenuStringSelect*        = $2C;
  1982.     kMCSetActionFilterWithRefConSelect* = $2D;
  1983.  
  1984. (****************************************
  1985. *                                        *
  1986. *          T  I  M  E  B  A  S  E            *
  1987. *                                        *
  1988. ****************************************)
  1989.  
  1990. PROCEDURE NewTimeBase*(): TimeBase;
  1991.     (*$IF NOT GENERATINGCFM*)
  1992.     INLINE PASCAL $303C, $A5, $AAAA;
  1993.     (*$END*)
  1994. PROCEDURE DisposeTimeBase*(tb: TimeBase);
  1995.     (*$IF NOT GENERATINGCFM*)
  1996.     INLINE PASCAL $303C, $B6, $AAAA;
  1997.     (*$END*)
  1998. PROCEDURE GetTimeBaseTime*(tb: TimeBase; s: TimeScale; VAR tr: TimeRecord): TimeValue;
  1999.     (*$IF NOT GENERATINGCFM*)
  2000.     INLINE PASCAL $303C, $A6, $AAAA;
  2001.     (*$END*)
  2002. PROCEDURE SetTimeBaseTime*(tb: TimeBase; (*CONST*)VAR tr: TimeRecord);
  2003.     (*$IF NOT GENERATINGCFM*)
  2004.     INLINE PASCAL $303C, $A7, $AAAA;
  2005.     (*$END*)
  2006. PROCEDURE SetTimeBaseValue*(tb: TimeBase; t: TimeValue; s: TimeScale);
  2007.     (*$IF NOT GENERATINGCFM*)
  2008.     INLINE PASCAL $303C, $A8, $AAAA;
  2009.     (*$END*)
  2010. PROCEDURE GetTimeBaseRate*(tb: TimeBase): Types.Fixed;
  2011.     (*$IF NOT GENERATINGCFM*)
  2012.     INLINE PASCAL $303C, $A9, $AAAA;
  2013.     (*$END*)
  2014. PROCEDURE SetTimeBaseRate*(tb: TimeBase; r: Types.Fixed);
  2015.     (*$IF NOT GENERATINGCFM*)
  2016.     INLINE PASCAL $303C, $AA, $AAAA;
  2017.     (*$END*)
  2018. PROCEDURE GetTimeBaseStartTime*(tb: TimeBase; s: TimeScale; VAR tr: TimeRecord): TimeValue;
  2019.     (*$IF NOT GENERATINGCFM*)
  2020.     INLINE PASCAL $303C, $AB, $AAAA;
  2021.     (*$END*)
  2022. PROCEDURE SetTimeBaseStartTime*(tb: TimeBase; (*CONST*)VAR tr: TimeRecord);
  2023.     (*$IF NOT GENERATINGCFM*)
  2024.     INLINE PASCAL $303C, $AC, $AAAA;
  2025.     (*$END*)
  2026. PROCEDURE GetTimeBaseStopTime*(tb: TimeBase; s: TimeScale; VAR tr: TimeRecord): TimeValue;
  2027.     (*$IF NOT GENERATINGCFM*)
  2028.     INLINE PASCAL $303C, $AD, $AAAA;
  2029.     (*$END*)
  2030. PROCEDURE SetTimeBaseStopTime*(tb: TimeBase; (*CONST*)VAR tr: TimeRecord);
  2031.     (*$IF NOT GENERATINGCFM*)
  2032.     INLINE PASCAL $303C, $AE, $AAAA;
  2033.     (*$END*)
  2034. PROCEDURE GetTimeBaseFlags*(tb: TimeBase): LONGINT;
  2035.     (*$IF NOT GENERATINGCFM*)
  2036.     INLINE PASCAL $303C, $B1, $AAAA;
  2037.     (*$END*)
  2038. PROCEDURE SetTimeBaseFlags*(tb: TimeBase; timeBaseFlags: LONGINT);
  2039.     (*$IF NOT GENERATINGCFM*)
  2040.     INLINE PASCAL $303C, $B2, $AAAA;
  2041.     (*$END*)
  2042. PROCEDURE SetTimeBaseMasterTimeBase*(slave: TimeBase; master: TimeBase; (*CONST*)VAR slaveZero: TimeRecord);
  2043.     (*$IF NOT GENERATINGCFM*)
  2044.     INLINE PASCAL $303C, $B4, $AAAA;
  2045.     (*$END*)
  2046. PROCEDURE GetTimeBaseMasterTimeBase*(tb: TimeBase): TimeBase;
  2047.     (*$IF NOT GENERATINGCFM*)
  2048.     INLINE PASCAL $303C, $AF, $AAAA;
  2049.     (*$END*)
  2050. PROCEDURE SetTimeBaseMasterClock*(slave: TimeBase; clockMeister: Components.Component; (*CONST*)VAR slaveZero: TimeRecord);
  2051.     (*$IF NOT GENERATINGCFM*)
  2052.     INLINE PASCAL $303C, $B3, $AAAA;
  2053.     (*$END*)
  2054. PROCEDURE GetTimeBaseMasterClock*(tb: TimeBase): Components.ComponentInstance;
  2055.     (*$IF NOT GENERATINGCFM*)
  2056.     INLINE PASCAL $303C, $B0, $AAAA;
  2057.     (*$END*)
  2058. PROCEDURE ConvertTime*(VAR inout: TimeRecord; newBase: TimeBase);
  2059.     (*$IF NOT GENERATINGCFM*)
  2060.     INLINE PASCAL $303C, $B5, $AAAA;
  2061.     (*$END*)
  2062. PROCEDURE ConvertTimeScale*(VAR inout: TimeRecord; newScale: TimeScale);
  2063.     (*$IF NOT GENERATINGCFM*)
  2064.     INLINE PASCAL $303C, $B7, $AAAA;
  2065.     (*$END*)
  2066. PROCEDURE AddTime*(VAR dst: TimeRecord; (*CONST*)VAR src: TimeRecord);
  2067.     (*$IF NOT GENERATINGCFM*)
  2068.     INLINE PASCAL $303C, $10C, $AAAA;
  2069.     (*$END*)
  2070. PROCEDURE SubtractTime*(VAR dst: TimeRecord; (*CONST*)VAR src: TimeRecord);
  2071.     (*$IF NOT GENERATINGCFM*)
  2072.     INLINE PASCAL $303C, $10D, $AAAA;
  2073.     (*$END*)
  2074. PROCEDURE GetTimeBaseStatus*(tb: TimeBase; VAR unpinnedTime: TimeRecord): LONGINT;
  2075.     (*$IF NOT GENERATINGCFM*)
  2076.     INLINE PASCAL $303C, $10B, $AAAA;
  2077.     (*$END*)
  2078. PROCEDURE SetTimeBaseZero*(tb: TimeBase; VAR zero: TimeRecord);
  2079.     (*$IF NOT GENERATINGCFM*)
  2080.     INLINE PASCAL $303C, $128, $AAAA;
  2081.     (*$END*)
  2082. PROCEDURE GetTimeBaseEffectiveRate*(tb: TimeBase): Types.Fixed;
  2083.     (*$IF NOT GENERATINGCFM*)
  2084.     INLINE PASCAL $303C, $124, $AAAA;
  2085.     (*$END*)
  2086. (****************************************
  2087. *                                        *
  2088. *          C  A  L  L  B  A  C  K             *
  2089. *                                        *
  2090. ****************************************)
  2091. PROCEDURE NewCallBack*(tb: TimeBase; cbType: INTEGER): QTCallBack;
  2092.     (*$IF NOT GENERATINGCFM*)
  2093.     INLINE PASCAL $303C, $EB, $AAAA;
  2094.     (*$END*)
  2095. PROCEDURE DisposeCallBack*(cb: QTCallBack);
  2096.     (*$IF NOT GENERATINGCFM*)
  2097.     INLINE PASCAL $303C, $EC, $AAAA;
  2098.     (*$END*)
  2099. PROCEDURE GetCallBackType*(cb: QTCallBack): INTEGER;
  2100.     (*$IF NOT GENERATINGCFM*)
  2101.     INLINE PASCAL $303C, $ED, $AAAA;
  2102.     (*$END*)
  2103. PROCEDURE GetCallBackTimeBase*(cb: QTCallBack): TimeBase;
  2104.     (*$IF NOT GENERATINGCFM*)
  2105.     INLINE PASCAL $303C, $EE, $AAAA;
  2106.     (*$END*)
  2107. PROCEDURE CallMeWhen*(cb: QTCallBack; callBackProc: QTCallBackUPP; refCon: LONGINT; param1: LONGINT; param2: LONGINT; param3: LONGINT): Types.OSErr;
  2108.     (*$IF NOT GENERATINGCFM*)
  2109.     INLINE PASCAL $303C, $B8, $AAAA;
  2110.     (*$END*)
  2111. PROCEDURE CancelCallBack*(cb: QTCallBack);
  2112.     (*$IF NOT GENERATINGCFM*)
  2113.     INLINE PASCAL $303C, $B9, $AAAA;
  2114.     (*$END*)
  2115. (****************************************
  2116. *                                        *
  2117. *          C L O C K   C A L L B A C K      *
  2118. *                S U P P O R T              *
  2119. *                                        *
  2120. ****************************************)
  2121. PROCEDURE AddCallBackToTimeBase*(cb: QTCallBack): Types.OSErr;
  2122.     (*$IF NOT GENERATINGCFM*)
  2123.     INLINE PASCAL $303C, $129, $AAAA;
  2124.     (*$END*)
  2125. PROCEDURE RemoveCallBackFromTimeBase*(cb: QTCallBack): Types.OSErr;
  2126.     (*$IF NOT GENERATINGCFM*)
  2127.     INLINE PASCAL $303C, $12A, $AAAA;
  2128.     (*$END*)
  2129. PROCEDURE GetFirstCallBack*(tb: TimeBase): QTCallBack;
  2130.     (*$IF NOT GENERATINGCFM*)
  2131.     INLINE PASCAL $303C, $12B, $AAAA;
  2132.     (*$END*)
  2133. PROCEDURE GetNextCallBack*(cb: QTCallBack): QTCallBack;
  2134.     (*$IF NOT GENERATINGCFM*)
  2135.     INLINE PASCAL $303C, $12C, $AAAA;
  2136.     (*$END*)
  2137. PROCEDURE ExecuteCallBack*(cb: QTCallBack);
  2138.     (*$IF NOT GENERATINGCFM*)
  2139.     INLINE PASCAL $303C, $12D, $AAAA;
  2140.     (*$END*)
  2141. (****************************************
  2142. *                                        *
  2143. *          S Y N C    T A S K S              *
  2144. *                S U P P O R T              *
  2145. *                                        *
  2146. ****************************************)
  2147. PROCEDURE QueueSyncTask*(task: QTSyncTaskPtr): Types.OSErr;
  2148.     (*$IF NOT GENERATINGCFM*)
  2149.     INLINE PASCAL $303C, $203, $AAAA;
  2150.     (*$END*)
  2151. PROCEDURE DequeueSyncTask*(qElem: QTSyncTaskPtr): Types.OSErr;
  2152.     (*$IF NOT GENERATINGCFM*)
  2153.     INLINE PASCAL $303C, $204, $AAAA;
  2154.     (*$END*)
  2155. (* UPP call backs *)
  2156.  
  2157. CONST
  2158.     uppMovieRgnCoverProcInfo* = $00000FE0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param): 2 byte result; *)
  2159.     uppMovieProgressProcInfo* = $0000FAE0; (* PROCEDURE (4 byte param, 2 byte param, 2 byte param, 4 byte param, 4 byte param): 2 byte result; *)
  2160.     uppMovieDrawingCompleteProcInfo* = $000003E0; (* PROCEDURE (4 byte param, 4 byte param): 2 byte result; *)
  2161.     uppTrackTransferProcInfo* = $000003E0; (* PROCEDURE (4 byte param, 4 byte param): 2 byte result; *)
  2162.     uppGetMovieProcInfo* = $00003FE0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; *)
  2163.     uppMoviePreviewCallOutProcInfo* = $000000D0; (* PROCEDURE (4 byte param): 1 byte result; *)
  2164.     uppMoviesErrorProcInfo* = $00000380; (* PROCEDURE (2 byte param, 4 byte param); *)
  2165.     uppTextMediaProcInfo* = $00003FE0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; *)
  2166.     uppQTCallBackProcInfo* = $000003C0; (* PROCEDURE (4 byte param, 4 byte param); *)
  2167.     uppQTSyncTaskProcInfo* = $000000C0; (* PROCEDURE (4 byte param); *)
  2168.     uppMCActionFilterProcInfo* = $00000FD0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param): 1 byte result; *)
  2169.     uppMCActionFilterWithRefConProcInfo* = $00003ED0; (* PROCEDURE (4 byte param, 2 byte param, 4 byte param, 4 byte param): 1 byte result; *)
  2170.  
  2171. PROCEDURE NewMovieRgnCoverProc*(userRoutine: MovieRgnCoverProcPtr): MovieRgnCoverUPP;
  2172.     (*$IF NOT GENERATINGCFM *)
  2173.     INLINE PASCAL $2E9F;
  2174.     (*$END*)
  2175.  
  2176. PROCEDURE NewMovieProgressProc*(userRoutine: MovieProgressProcPtr): MovieProgressUPP;
  2177.     (*$IF NOT GENERATINGCFM *)
  2178.     INLINE PASCAL $2E9F;
  2179.     (*$END*)
  2180.  
  2181. PROCEDURE NewMovieDrawingCompleteProc*(userRoutine: MovieDrawingCompleteProcPtr): MovieDrawingCompleteUPP;
  2182.     (*$IF NOT GENERATINGCFM *)
  2183.     INLINE PASCAL $2E9F;
  2184.     (*$END*)
  2185.  
  2186. PROCEDURE NewTrackTransferProc*(userRoutine: TrackTransferProcPtr): TrackTransferUPP;
  2187.     (*$IF NOT GENERATINGCFM *)
  2188.     INLINE PASCAL $2E9F;
  2189.     (*$END*)
  2190.  
  2191. PROCEDURE NewGetMovieProc*(userRoutine: GetMovieProcPtr): GetMovieUPP;
  2192.     (*$IF NOT GENERATINGCFM *)
  2193.     INLINE PASCAL $2E9F;
  2194.     (*$END*)
  2195.  
  2196. PROCEDURE NewMoviePreviewCallOutProc*(userRoutine: MoviePreviewCallOutProcPtr): MoviePreviewCallOutUPP;
  2197.     (*$IF NOT GENERATINGCFM *)
  2198.     INLINE PASCAL $2E9F;
  2199.     (*$END*)
  2200.  
  2201. PROCEDURE NewMoviesErrorProc*(userRoutine: MoviesErrorProcPtr): MoviesErrorUPP;
  2202.     (*$IF NOT GENERATINGCFM *)
  2203.     INLINE PASCAL $2E9F;
  2204.     (*$END*)
  2205.  
  2206. PROCEDURE NewTextMediaProc*(userRoutine: TextMediaProcPtr): TextMediaUPP;
  2207.     (*$IF NOT GENERATINGCFM *)
  2208.     INLINE PASCAL $2E9F;
  2209.     (*$END*)
  2210.  
  2211. PROCEDURE NewQTCallBackProc*(userRoutine: QTCallBackProcPtr): QTCallBackUPP;
  2212.     (*$IF NOT GENERATINGCFM *)
  2213.     INLINE PASCAL $2E9F;
  2214.     (*$END*)
  2215.  
  2216. PROCEDURE NewQTSyncTaskProc*(userRoutine: QTSyncTaskProcPtr): QTSyncTaskUPP;
  2217.     (*$IF NOT GENERATINGCFM *)
  2218.     INLINE PASCAL $2E9F;
  2219.     (*$END*)
  2220.  
  2221. PROCEDURE NewMCActionFilterProc*(userRoutine: MCActionFilterProcPtr): MCActionFilterUPP;
  2222.     (*$IF NOT GENERATINGCFM *)
  2223.     INLINE PASCAL $2E9F;
  2224.     (*$END*)
  2225.  
  2226. PROCEDURE NewMCActionFilterWithRefConProc*(userRoutine: MCActionFilterWithRefConProcPtr): MCActionFilterWithRefConUPP;
  2227.     (*$IF NOT GENERATINGCFM *)
  2228.     INLINE PASCAL $2E9F;
  2229.     (*$END*)
  2230.  
  2231. PROCEDURE CallMovieRgnCoverProc*(theMovie: Movie; changedRgn: Quickdraw.RgnHandle; refcon: LONGINT; userRoutine: MovieRgnCoverUPP): Types.OSErr;
  2232.     (*$IF NOT GENERATINGCFM*)
  2233.     INLINE PASCAL $205F, $4E90;
  2234.     (*$END*)
  2235.  
  2236. PROCEDURE CallMovieProgressProc*(theMovie: Movie; message: INTEGER; whatOperation: INTEGER; percentDone: Types.Fixed; refcon: LONGINT; userRoutine: MovieProgressUPP): Types.OSErr;
  2237.     (*$IF NOT GENERATINGCFM*)
  2238.     INLINE PASCAL $205F, $4E90;
  2239.     (*$END*)
  2240.  
  2241. PROCEDURE CallMovieDrawingCompleteProc*(theMovie: Movie; refCon: LONGINT; userRoutine: MovieDrawingCompleteUPP): Types.OSErr;
  2242.     (*$IF NOT GENERATINGCFM*)
  2243.     INLINE PASCAL $205F, $4E90;
  2244.     (*$END*)
  2245.  
  2246. PROCEDURE CallTrackTransferProc*(t: Track; refCon: LONGINT; userRoutine: TrackTransferUPP): Types.OSErr;
  2247.     (*$IF NOT GENERATINGCFM*)
  2248.     INLINE PASCAL $205F, $4E90;
  2249.     (*$END*)
  2250.  
  2251. PROCEDURE CallGetMovieProc*(offset: LONGINT; size: LONGINT; dataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; refCon: (*ΔΔUNIVΔΔ*) Types.Ptr; userRoutine: GetMovieUPP): Types.OSErr;
  2252.     (*$IF NOT GENERATINGCFM*)
  2253.     INLINE PASCAL $205F, $4E90;
  2254.     (*$END*)
  2255.  
  2256. PROCEDURE CallMoviePreviewCallOutProc*(refcon: LONGINT; userRoutine: MoviePreviewCallOutUPP): BOOLEAN;
  2257.     (*$IF NOT GENERATINGCFM*)
  2258.     INLINE PASCAL $205F, $4E90;
  2259.     (*$END*)
  2260.  
  2261. PROCEDURE CallMoviesErrorProc*(theErr: Types.OSErr; refcon: LONGINT; userRoutine: MoviesErrorUPP);
  2262.     (*$IF NOT GENERATINGCFM*)
  2263.     INLINE PASCAL $205F, $4E90;
  2264.     (*$END*)
  2265.  
  2266. PROCEDURE CallTextMediaProc*(theText: Types.Handle; theMovie: Movie; VAR displayFlag: INTEGER; refcon: LONGINT; userRoutine: TextMediaUPP): Types.OSErr;
  2267.     (*$IF NOT GENERATINGCFM*)
  2268.     INLINE PASCAL $205F, $4E90;
  2269.     (*$END*)
  2270.  
  2271. PROCEDURE CallQTCallBackProc*(cb: QTCallBack; refCon: LONGINT; userRoutine: QTCallBackUPP);
  2272.     (*$IF NOT GENERATINGCFM*)
  2273.     INLINE PASCAL $205F, $4E90;
  2274.     (*$END*)
  2275.  
  2276. PROCEDURE CallQTSyncTaskProc*(task: (*ΔΔUNIVΔΔ*) Types.Ptr; userRoutine: QTSyncTaskUPP);
  2277.     (*$IF NOT GENERATINGCFM*)
  2278.     INLINE PASCAL $205F, $4E90;
  2279.     (*$END*)
  2280.  
  2281. PROCEDURE CallMCActionFilterProc*(mc: MovieController; VAR action: INTEGER; params: (*ΔΔUNIVΔΔ*) Types.Ptr; userRoutine: MCActionFilterUPP): BOOLEAN;
  2282.     (*$IF NOT GENERATINGCFM*)
  2283.     INLINE PASCAL $205F, $4E90;
  2284.     (*$END*)
  2285.  
  2286. PROCEDURE CallMCActionFilterWithRefConProc*(mc: MovieController; action: INTEGER; params: (*ΔΔUNIVΔΔ*) Types.Ptr; refCon: LONGINT; userRoutine: MCActionFilterWithRefConUPP): BOOLEAN;
  2287.     (*$IF NOT GENERATINGCFM*)
  2288.     INLINE PASCAL $205F, $4E90;
  2289.     (*$END*)
  2290.  
  2291. (* $ALIGN RESET*)
  2292. (* $POP*)
  2293.  
  2294.  END Movies.
  2295.